JavaRush /Курсы /Python SELF /Построение интерактивных графиков для анализа больших объ...

Построение интерактивных графиков для анализа больших объемов данных

Python SELF
42 уровень , 3 лекция
Открыта

1. Основы работы с интерактивными графиками

Начнем с самого простого — создания базового интерактивного графика. Давайте создадим график рассеяния, который покажет рост моркови в вашем виртуальном саду. Да, даже программисты имеют мечты о садоводстве!

Python

import plotly.express as px
import pandas as pd

# Простой DataFrame с нашими данными
df = pd.DataFrame({
    'Дни': [1, 2, 3, 4, 5],
    'Рост моркови': [2, 3, 5, 7, 11]
})

# Создание интерактивного линейного графика
fig = px.line(df, x='Дни', y='Рост моркови', title='Рост моркови за неделю')
fig.show()

Когда вы запустите этот код, у вас откроется новый браузер, и вы увидите потрясающий интерактивный график, который можно увеличивать, уменьшать и нажимать на точки, чтобы увидеть их значения.

А теперь давайте добавим немного магии интерактивности!

2. Настройка интерактивности

Plotly позволяет настраивать всплывающие подсказки, цветовые схемы и добавлять дополнительные данные в интерактивные графики, что делает отчеты более информативными и визуально привлекательными.

Настройка всплывающих подсказок (Tooltips)

В Plotly можно добавлять подробные данные в подсказки, которые отображаются при наведении на элементы графика.

Python

import plotly.express as px
import pandas as pd

# Простой DataFrame с нашими данными
df = pd.DataFrame({
    'Дни': [1, 2, 3, 4, 5],
    'Рост моркови': [2, 3, 5, 7, 11],
    "План агронома": [3, 4, 5, 6, 13]
})

# Создание интерактивного линейного графика
fig = px.line(df, x='Дни', y='Рост моркови', title='Рост моркови за неделю', hover_data={"План агронома": True})
fig.show()

Здесь hover_data={"План агронома": True} добавляет данные о плане агронома в подсказку, чтобы при наведении пользователи могли сравнить реальные данные с планом.

Настройка цветовых схем

Plotly поддерживает разные цветовые схемы, которые можно использовать для улучшения визуального восприятия.

Python

import plotly.express as px

# Данные для графика
data = {
    "Категория": ["A", "B", "C", "D"],
    "Значение": [10, 20, 30, 40]
}

fig = px.bar(data, x="Категория", y="Значение", color="Категория", title="Данные по категориям")
fig.show()

Цветовые схемы можно настраивать для создания более красочных и информативных отчетов.

Зумирование

Plotly предлагает множество интерактивных элементов, которые можно интегрировать в ваши графики, такие как изменения масштаба, панорамирование и аннотации. Например, вы можете легко включить зумирование и масштабирование, как показано ниже:

Python

import plotly.graph_objects as go

# Используем данные о морковке, добавляем интерактивность
fig = go.Figure(data=go.Scatter(x=df['Дни'], y=df['Рост моркови'], mode='lines+markers'))

# Указываем элементы управления
fig.update_layout(
    title='Рост моркови за неделю',
    xaxis_title='Дни',
    yaxis_title='Рост моркови (см)',
    hovermode='closest'
)

fig.show()

Этот график позволяет вам нажимать на точки и предоставлять дополнительную информацию, которую мы можем определить самостоятельно.

3. Примеры применения интерактивных графиков

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

Давайте создадим пример с более объемными данными — допустим, у нас есть данные о температуре в течение года, и мы хотим их визуализировать:

Python

import numpy as np

# Генерируем данные о температуре
np.random.seed(0)
x = np.arange(365)
y = np.random.normal(30, 5, 365)  # 30 градусов в среднем

fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines', line=dict(color='firebrick')))

fig.update_layout(
    title='Температура в течение года',
    xaxis_title='День',
    yaxis_title='Температура (°C)'
)

fig.show()

Теперь у вас есть интерактивный график, который не только показывает изменение температуры едва ли не каждый день, но и позволяет приблизиться к конкретным периодам для детального изучения.

Кастомизация графиков

Plotly предоставляет возможности для кастомизации, которые помогут сделать ваши графики визуально привлекательными и полезными. Вы можете изменять цвета, добавлять подсказки, легенды и даже анимации! Для более сложных сценариев вы можете погрузиться в документацию Plotly и найти примеры того, как использовать эти функции в вашем собственном проекте.

Вам может показаться, что построение интерактивных графиков — это задача уровня мастера Джедая, но навыки, которые вы освоите с Plotly, откроют для вас двери в мир эффективной и наглядной визуализации данных. Используйте эти навыки, чтобы укрепить ваши аналитические способности и стать звездой Excel (или Python) на вашем рабочем месте. Не забывайте экспериментировать и пробовать новые подходы — именно так рождаются великие идеи!

Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Slevin Уровень 1
31 июля 2025
Короче понятно. У вас перепутаны местами задания. Задания из этой лекции должны были быть в прошлой. А задания из прошлой лекции должны быть на помойке тут.