Plotly — одна из самых удобных библиотек для создания интерактивных графиков в Python. Она подходит для аналитики, дашбордов, исследований данных и презентации результатов без сложной фронтенд-разработки.
Почему Plotly популярен:
- интерактивность “из коробки”: zoom, hover, legend toggle
- поддержка line, bar, scatter, pie, histogram, heatmap, 3D
- работает в Jupyter Notebook, Dash и web-приложениях
- красивый внешний вид без долгой настройки
Установка
pip install plotly pandas
Быстрый старт с Plotly Express
Это самый простой способ построить график.
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(
df,
x="gdpPercap",
y="lifeExp",
size="pop",
color="continent",
hover_name="country",
log_x=True,
title="Уровень жизни и ВВП на душу населения"
)
fig.show()
Что здесь происходит:
x,y— осиsize— размер точкиcolor— группировка по цветуhover_name— текст при наведенииlog_x=True— логарифмическая шкала
Популярные типы графиков
px.line(df, x="country", y="lifeExp")
px.bar(df, x="continent", y="pop")
px.histogram(df, x="lifeExp")
Как настроить внешний вид 🎨
Для кастомизации используется update_layout() и update_traces().
fig.update_layout(
template="plotly_white",
title="Анализ данных",
xaxis_title="ВВП",
yaxis_title="Продолжительность жизни"
)
fig.update_traces(marker=dict(line=dict(width=1, color='DarkSlateGrey')))
Когда использовать graph_objects
Если нужен более гибкий контроль, лучше перейти с plotly.express на plotly.graph_objects.
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Bar(x=["A", "B", "C"], y=[10, 20, 15]))
fig.update_layout(title="Пример bar chart")
fig.show()
Где Plotly особенно полезен 🚀
- аналитические отчёты
- визуализация результатов ML
- BI-панели и внутренние сервисы
- интерактивные графики для презентаций
Частые ошибки новичков
- строить слишком перегруженные графики
- не подписывать оси и заголовок
- смешивать много цветов без смысла
- забывать про тип данных в DataFrame
Итог
Plotly — отличный выбор, если нужен ответ на запросы вроде “как сделать интерактивный график в Python”, “библиотека для визуализации данных” или “чем заменить matplotlib для интерактива”. Для быстрого старта хватит plotly.express, а для сложных сценариев — graph_objects. ⚡
За полезными инструментами, библиотеками и практикой разработки — стоит заглянуть в подборку каналов про IT.