Plotly и объект Figure

Введение в визуализацию данных с Plotly на Python

Alex Scriven

Data Scientist

Что такое Plotly?

 

  • Библиотека построения графиков на JavaScript
    • Не волнуйтесь — знать JavaScript не нужно!
  • Plotly имеет обёртку для Python

 

Логотип Plotly

Введение в визуализацию данных с Plotly на Python

Почему Plotly?

 

Plotly обладает рядом ключевых преимуществ:

  • Быстро и удобно в использовании
  • Минимум кода с plotly.express
  • (По желанию) Широкие возможности настройки
  • Встроенная интерактивность
Введение в визуализацию данных с Plotly на Python

Создание графиков в Plotly

 

Графики Plotly можно создавать:

  1. С помощью plotly.express для быстрых графиков (px)
  2. С помощью plotly.graph_objects (go) для расширенной настройки

$$

📈 Большую часть времени мы будем работать с px

Введение в визуализацию данных с Plotly на Python

Важность документации

Сохраните ссылки на ключевую документацию!

  1. Интерактивная документация

  2. Подробный справочник по конкретным графикам

$$

Для точечных графиков:

Введение в визуализацию данных с Plotly на Python

Создаём график

  Простой график на Plotly:

import plotly.express as px

days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] temperatures = [28, 27, 25, 31, 32, 35, 36]
fig = px.bar( x=days, y=temperatures, title="Temperatures of the week")
fig.show()
Введение в визуализацию данных с Plotly на Python

Наш график готов

Столбчатая диаграмма температур за неделю

Введение в визуализацию данных с Plotly на Python

Объект Figure в Plotly

 

Компоненты объекта Figure в Plotly:

  • layout: словарь, управляющий стилем графика
    • Один layout на график
  • data: список словарей, задающих тип графика и данные
    • Данные + тип = trace. Типов более 40!
    • На одном графике может быть несколько трасс
  • frames: для анимированных графиков (выходит за рамки курса)
Введение в визуализацию данных с Plotly на Python

Внутри объекта Figure

 

print(fig)
Figure({'data': [{'type': 'bar',
              'x': array(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'
              , 'Saturday','Sunday'], dtype=object),
              'y': {'bdata': 'HBsZHyAjJA==....'}],
    'layout': {'title': {'text': 'Temperatures of the week'}}})
Введение в визуализацию данных с Plotly на Python

Мгновенная интерактивность Plotly

$$

  • Наведение на точки данных
  • Дополнительные интерактивные кнопки

Параметры наведения

Введение в визуализацию данных с Plotly на Python

Давайте потренируемся!

Введение в визуализацию данных с Plotly на Python

Preparing Video For Download...