0Pricing
Python Academy · Урок

Основы Plotly Express

Быстро создавайте диаграммы

«Основы Plotly Express» — бесплатный урок Python Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.

Что такое Plotly Express

Plotly Express (импортируемый как px) — это высокоуровневый интерфейс для создания интерактивных диаграмм с помощью очень небольшого объёма кода. Один вызов функции обычно создаёт полностью оформленный рисунок.

По умолчанию Matplotlib создаёт статичные графики, а рисунки Plotly интерактивны: в браузере можно наводить указатель, изменять масштаб и перемещать область просмотра.

Идея аккуратных данных

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

Структурированный набор данных можно представить как список словарей.

rows = [
    {'country': 'A', 'year': 2020, 'gdp': 100},
    {'country': 'A', 'year': 2021, 'gdp': 110},
    {'country': 'B', 'year': 2020, 'gdp': 80},
]
for r in rows:
    print(r['country'], r['year'], r['gdp'])

Ваша первая диаграмма

Линейная диаграмма строится одним вызовом: px.line(df, x='year', y='gdp', color='country'). Аргумент color автоматически разделяет данные на отдельную линию для каждой страны и создаёт легенду.

Вручную перебирать ряды данных не требуется.

Основные функции Express

Для каждого типа диаграммы предусмотрена отдельная функция:

  • px.line — тенденции
  • px.bar — сравнение категорий
  • px.scatter — взаимосвязи
  • px.histogram — распределения
  • px.pie — части целого

Все они используют один и тот же подход с сопоставлением столбцов.

Сопоставление столбцов с элементами визуализации

Сила Express — в сопоставлении столбцов с визуальными каналами: x, y, color, size, symbol и facet_col. Каждый аргумент принимает имя столбца.

Главное решение при создании диаграммы — определить, какой столбец куда сопоставить.

encodings = {'x': 'year', 'y': 'gdp', 'color': 'country', 'size': 'population'}
for channel, column in encodings.items():
    print(channel.ljust(6), '<-', column)

Диаграмма рассеяния с цветом и размером

Один вызов функции для диаграммы рассеяния может отображать четыре переменные: px.scatter(df, x='gdp', y='life', color='continent', size='population'). Так в одну строку строится знаменитая пузырьковая диаграмма Gapminder.

Express автоматически выбирает подходящие масштабы и создаёт легенду.

Разбиение на панели

Разбиение на панели делит одну диаграмму на сетку небольших копий по категориальному признаку с помощью facet_col='region' или facet_row. Все панели используют общие масштабы, поэтому их легко сравнивать.

Количество панелей равно числу уникальных значений категории.

regions = ['North', 'South', 'East', 'West']
print('facet_col=region produces', len(regions), 'panels')
for r in regions:
    print(' panel:', r)

Встроенные демонстрационные данные

Plotly поставляет наборы данных для практики через px.data, например px.data.iris() и px.data.gapminder(). Они возвращают готовые к построению данные в удобном табличном виде, поэтому можно экспериментировать без поиска файлов.

Объект диаграммы

Каждый вызов Express возвращает объект диаграммы. Его можно отобразить с помощью fig.show(), настроить с помощью fig.update_layout(...) или сохранить. Express создаёт отличную исходную диаграмму, которую при этом можно дополнительно доработать.

Express и объекты графа

Внутри Express создаёт объекты графа (plotly.graph_objects). Используйте Express для быстрой работы, а переходите к объектам графа, когда нужен детальный контроль, которого Express не предоставляет. Оба подхода создают одинаковый интерактивный результат.

Заголовки и подписи в Express

Express принимает аргумент title и словарь labels, который переименовывает столбцы при отображении, например labels={'gdp': 'GDP per capita'}. Можно задавать понятные имена, не изменяя исходные данные.

Так столбцы данных остаются краткими, а диаграмма — понятной.

Проверка знаний

Проверьте, насколько хорошо Вы поняли Plotly Express.

Итоги

Вы изучили основы Plotly Express:

  • По одному вызову функции (px.line, px.bar, px.scatter...) на диаграмму
  • Данные должны быть аккуратно организованы: одна строка на одно наблюдение
  • Сопоставление столбцов с каналами: x, y, color, size, facet_col
  • Каждый вызов возвращает интерактивный объект Figure, который можно дополнительно настроить

Часто задаваемые вопросы

Урок «Основы Plotly Express» бесплатный?

Да — полный текст урока «Основы Plotly Express» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.

Чему я научусь в уроке «Основы Plotly Express»?

Быстро создавайте диаграммы Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Основы Plotly Express»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы Plotly Express
  2. Интерактивные возможности
  3. Основы информационных панелей
  4. Экспорт и встраивание
← Назад к Python Academy