Найти тему
Властелин машин

Создание дашбордов на Python с Dash

Для 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) Запустить приложение.

Продемонстрируем это для вывода доли выживших пассажиров Титаника в зависимости от выбранной одной из трех колонок:

-2

В ноутбуке объект приложения создается как экземпляр 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, то приложение будет доступно из нового окна в браузере.

-3

Наука
7 млн интересуются