Для Python написан фреймворк разработки интерактивных веб-приложений и создания дашбордов под названием Dash. Он совмещает в себе функциональность HTML, JavaScript и библиотеки визуализации Plotly, позволяя вам разметить страницу и нарисовать графики только с использованием Python.
Для начала работы с Dash вам понадобится установить Node.js, пакеты dask, plotly, pandas, dash_bootstrap_components (не обязателен, но добавляет продвинутые возможности разметки), jupyter_dash (для работы с ноутбуками) и расширение JupyterLab Plotly (jupyter labextension install jupyterlab-plotly).
Для запуска в Colab-е потребуются 2 пакета:
!pip install jupyter-dash
!pip install dash-bootstrap-components
В целом для старта работы приложения понадобится:
1) Создать экземпляр приложения;
2) Создать макет путем заполнения свойства layout приложения компонентами (теги и другие объекты);
3) Создать callback функции, реагирующие на ввод данных (если это надо);
4) Запустить приложение.
Продемонстрируем это для вывода доли выживших пассажиров Титаника в зависимости от выбранной одной из трех колонок:
В ноутбуке объект приложения создается как экземпляр JupyterDash, а в скрипте - Dash. В свойстве layout задаются теги и объекты, например, dcc.Dropdown - выпадающий список, а dcc.Graph - график.
Функции обратного вызова декорируются с @app.callback(Output('graph', 'figure'), Input("col", "value")). При этом в скобках указываются объект Output с id и свойством элемента для вывода результата, а Input с id и свойством элемента - источника входных параметров. Отмечу, что могут быть несколько Output-ов и Input-ов, но сначала перечисляются первые, а потом вторые.
Запуск приложения происходит по команде run_server. Если параметр mode установить в external, то приложение будет доступно из нового окна в браузере.