Flapjax Визуализация данных в вебе с помощью Plotly и Flask

Визуализация данных в вебе с помощью Plotly и Flask Flapjax

Построение веб-страницы визуализации данных с помощью Plotly и Flask и создание интерактивности с помощью некоторых компонентов пользовательского интерфейса

Фото от Mae Mu на Unsplash

Какой лучший фреймворк для создания приложений для визуализации данных? Возможно, это Streamlit или Dash? Или может быть вы можете преобразовать блокнот Jupyter в веб-приложение с использованием Mercury или Voilá?

Все эти варианты отлично подходят для создания приложений и довольно просты в использовании. Однако то, с чего легко начать, часто становится сложнее по мере вашего желания попробовать что-то новое. Поэтому я попытаюсь убедить вас вернуться к основам и использовать серверный код Python вместе с HTML-страницей для пользовательского интерфейса – это не так уж и сложно, как может показаться.

Мы можем создавать увлекательные интерактивные приложения, используя некоторое количество шаблонного кода, что означает, что вы по-прежнему можете сконцентрироваться на коде Python, а знакомство с HTML и JavaScript минимально. Я называю этот подход Flapjax – объясню позже, почему.

Один из самых простых способов создания веб-приложения на Python – это использовать Flask, и именно это мы и сделаем, создав приложение, которое выглядит как на изображении ниже:

Фреймворк Flask

Flask – это минималистичный фреймворк для разработки веб-приложений. В приложении Flask веб-страница обычно создается из шаблона и данных, предоставляемых кодом Python – эти данные могут быть текстом или графикой, которые составляют содержимое веб-страницы. Результат отправляется пользователю для отображения в браузере.

Диаграмма ниже показывает основную структуру интерактивного приложения. При работе приложения код Python выполняется на сервере и передает данные в HTML, который работает в браузере. Ввод пользователя с веб-страницы передается обратно в код Python, который может отправить больше данных, чтобы обновить HTML с новым содержимым – например, новым графиком, выбранным пользователем.