Интерактивные компоненты

Создание дашбордов с помощью Dash и Plotly

Alex Scriven

Data Scientist

Расширение интерактивности

 

  • Полезные интерактивные компоненты:
    • dcc.Checklist() = флажки
    • dcc.RadioItems() = переключатели
    • dcc.Slider() / dcc.RangeSlider() = ползунки
    • dcc.DatePickerSingle() / dcc.DatePickerRange() = выбор дат
Создание дашбордов с помощью Dash и Plotly

Ползунки

 

 

  • Slider: перетащите для выбора одного значения

 

 

  • Range Slider: перетащите для выбора двух значений
  • Напоминание: можно связать с callback
    • Обновляет графики или компоненты

 

Ползунок:

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

Диапазонный ползунок:

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

Создание дашбордов с помощью Dash и Plotly

Ползунки в Dash

 

dcc.Slider(

min=10, max=50,
value=45,
step=5,
vertical=False
)

 

Основные аргументы:

  • min/max : границы ползунка
  • value : начальное значение
  • step : шаг между делениями
  • vertical : горизонтальная или вертикальная ориентация
Создание дашбордов с помощью Dash и Plotly

Выбор дат в Dash

DatePickerSingle: выбор одной даты

dcc.DatePickerSingle(
  date=date(2025, 7, 1),
  initial_visible_month=datetime.now(),
)
  • date = начальная дата
  • initial_visible_month = месяц, отображаемый во всплывающем окне
  • Опционально: ограничьте min_date_allowed и max_date_allowed

Анимация стандартного выбора даты. В поле ввода указана дата 1 июля 2025 г. Мышь нажимает на поле, открывается календарь. Выбирается другая дата — 2 июля 2025 г. — календарь закрывается, и в поле отображается новая дата.

Создание дашбордов с помощью Dash и Plotly

Выбор диапазона дат

 

  • Аналогично DatePickerSingle
    dcc.DatePickerRange(
    initial_visible_month=datetime.now(),
    start_date=date(2025, 7, 1),
    end_date=date(2025, 7, 16),
    )
    
  • Задайте начальные start_date и end_date

 

Анимация выбора диапазона дат. Два поля ввода показывают даты в июле 2025 г. Мышь нажимает на второе поле, открывается календарь с выделенным зелёным диапазоном, затем выбирается новый диапазон и даты изменяются.

Создание дашбордов с помощью Dash и Plotly

Обновление графиков

 

# dcc.DatePickerSingle(id='sale_date')
# dcc.Graph(id='sales_cat')

@callback( Output(component_id='sales_cat', component_property='figure'), Input(component_id='sale_date', component_property='date'))
def update_plot(input_date): sales = ecom_sales.copy(deep=True)
if input_date: sales = sales[sales['InvoiceDate'] == input_date]
# Create fig return fig

 

Анимация использования выбора даты в Dash. Слева — блок «Controls» с полем выбора даты «Sale Date Select», в котором указана дата 04/11/2011. Справа — горизонтальная столбчатая диаграмма с осями «Total Sales ($)» и «Major Category», заголовком «Daily Sales by Major Category» и подписью «Sales on 2011-04-11». Мышь выбирает следующий день — 11 апреля 2011 г. — диаграмма обновляется, отражая новые данные и дату.

Создание дашбордов с помощью Dash и Plotly

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

Создание дашбордов с помощью Dash и Plotly

Preparing Video For Download...