Пользовательские кнопки

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

Alex Scriven

Data Scientist

Что умеют пользовательские кнопки?

 

Пользовательские кнопки позволяют:

  • Обновлять данные или элементы оформления графика

    • Все настройки update_layout() можно вынести в кнопку!
  • Управлять анимацией (выходит за рамки курса)

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

Пользовательские кнопки в Plotly

Добавляются через аргумент updatemenus со следующими параметрами:

  • type: buttons или dropdown
    • Раскрывающиеся списки рассмотрим позже!
  • direction: ориентация кнопок
    • Кнопки могут располагаться рядом (left) или друг над другом (down)
  • x/y: числа с плавающей точкой для позиционирования кнопок
  • showactive: True/False — отображать ли активную кнопку (active, индекс кнопки) как нажатую.
    • Активная кнопка — это текущая выбранная.
  • buttons: список объектов button
Введение в визуализацию данных с Plotly на Python

Тип графика с кнопками

$$

fig = px.bar(
      data_frame=revenues, 
    x='Industry', y='Revenue',
    color='Industry')
fig.show()

Простая столбчатая диаграмма по отраслям

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

Настройка кнопок

 

my_buttons = [

{'label': "Bar plot",
'method': "update",
'args': [{"type": "bar"}]},
{'label': "scatterplot",
'method': "update",
'args': [{"type": "scatter", 'mode': 'markers'}]}
]
Введение в визуализацию данных с Plotly на Python

Аргумент args

Один из самых запутанных элементов Plotly!

  • Его структура:

[{dictionary to send to data}, {dictionary to send to layout}]

Внутренняя структура фигуры

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

Использование args для обновления оформления

dir(fig.layout)

Элементы оформления фигуры

  • Любой из этих аргументов можно обновить через 'args'
Введение в визуализацию данных с Plotly на Python

Использование args для обновления данных

dir(fig.data[0])

Внутренняя структура данных

  • Некоторые параметры уже знакомы, другие пригодятся позже
Введение в визуализацию данных с Plotly на Python

Интерактивность кнопок

$$

fig.update_layout({
  'updatemenus': [{'type': "buttons",

'direction': 'down', 'x': 1.3, 'y': 0.5,
'showactive': True, 'active': 0,
'buttons': my_buttons}] }) fig.show()

$$

Кнопки

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

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

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

Preparing Video For Download...