Изучение интерактивной визуализации данных с помощью элементов Streamlit и диаграмм Nivo

Визуализация данных – важный аспект анализа данных и рассказывания историй. Это помогает эффективно понимать сложные закономерности и тенденции данных. Streamlit Elements в сочетании с Nivo Charts предоставляет мощный набор инструментов для создания интерактивных и визуально привлекательных визуализаций данных. В этой статье мы рассмотрим различные методы интеграции элементов Streamlit с диаграммами Nivo, сопровождаемые примерами кода.

Метод 1: установка Streamlit и Nivo
Прежде чем мы углубимся в примеры кода, давайте убедимся, что у нас установлены Streamlit и Nivo. Откройте терминал и выполните следующие команды:

pip install streamlit
pip install streamlit-nivo

Метод 2: базовая линейная диаграмма
Давайте начнем с базовой линейной диаграммы с использованием Streamlit Elements и Nivo. Вот пример фрагмента кода:

import streamlit as st
import streamlit_nivo as sn
data = [
    {"x": 0, "y": 3},
    {"x": 1, "y": 5},
    {"x": 2, "y": 7},
    {"x": 3, "y": 4},
    {"x": 4, "y": 6},
]
st.write("My Line Chart")
chart_data = {"data": data, "x": "x", "y": "y"}
st.nivo_line_chart(chart_data)

Метод 3: гистограмма с настройкой
Далее давайте создадим гистограмму с настроенными цветами и метками:

import streamlit as st
import streamlit_nivo as sn
data = [
    {"country": "USA", "population": 331002651},
    {"country": "China", "population": 1439323776},
    {"country": "India", "population": 1380004385},
    {"country": "Brazil", "population": 212559417},
    {"country": "Russia", "population": 145934462},
]
st.write("Population Bar Chart")
chart_data = {"data": data, "keys": ["country", "population"], "indexBy": "country", "colors": "set3"}
st.nivo_bar_chart(chart_data)

Метод 4. Интерактивная круговая диаграмма
Давайте создадим интерактивную круговую диаграмму, которая выделяет фрагменты при наведении курсора:

import streamlit as st
import streamlit_nivo as sn
data = [
    {"id": "A", "value": 10},
    {"id": "B", "value": 20},
    {"id": "C", "value": 15},
    {"id": "D", "value": 5},
]
st.write("Interactive Pie Chart")
chart_data = {"data": data, "id": "id", "value": "value", "activeOuterRadiusOffset": 8}
st.nivo_pie_chart(chart_data)

Элементы Streamlit и диаграммы Nivo представляют собой мощное сочетание для создания интерактивных и визуально потрясающих визуализаций данных. В этой статье мы рассмотрели несколько методов интеграции этих элементов в ваше приложение Streamlit. Не стесняйтесь изучить официальную документацию Streamlit Elements и Nivo Charts для получения дополнительных примеров и вариантов настройки. Начните создавать увлекательные визуализации данных, которые улучшат ваш анализ данных и рассказывание историй!

Используя Streamlit Elements и Nivo Charts, вы можете вывести визуализацию данных на новый уровень.