0Pricing
Python Academy · Урок

Интерактивные возможности

Масштабируйте, наводите указатель и перемещайте область просмотра

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

Зачем нужна интерактивность

Главное преимущество Plotly перед статическими библиотеками в том, что диаграммы реагируют на действия пользователя. Читатели могут приближать нужную область, перемещаться по данным и наводить курсор, чтобы видеть точные значения, без перегрузки диаграммы подписями.

Интерактивность позволяет одной диаграмме одновременно показывать и общий обзор, и подробности.

Всплывающие подсказки при наведении

По умолчанию при наведении на точку отображаются её значения по осям x и y. Можно дополнить эту информацию с помощью hover_data=['col1', 'col2'], добавив другие столбцы, или задать полужирный заголовок подсказки с помощью hover_name='name'.

Хорошие всплывающие подсказки избавляют от необходимости перегружать саму диаграмму.

Формирование текста всплывающей подсказки

Концептуально всплывающая подсказка — это просто отформатированный текст, собранный из строки данных. Вот та же идея на обычном Python.

point = {'name': 'Berlin', 'pop': 3700000, 'gdp': 154}
tooltip = point['name'] + '\nPop: ' + format(point['pop'], ',') + '\nGDP: ' + str(point['gdp'])
print(tooltip)

Масштабирование и перемещение

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

Эти возможности включены по умолчанию, поэтому обычно не требуют написания кода.

Диапазон и сброс

Масштабирование временно изменяет диапазон оси. Начальный диапазон можно задать с помощью fig.update_xaxes(range=[0, 100]), и пользователь всегда может вернуться к нему.

Представляйте масштабирование как выбор небольшого окна внутри полного диапазона данных.

full_min, full_max = 0, 1000
zoom_min, zoom_max = 200, 400
visible = zoom_max - zoom_min
total = full_max - full_min
print('Zoom shows', round(visible / total * 100), '% of the range')

Режимы наведения

fig.update_layout(hovermode='x unified') показывает одну всплывающую подсказку со всеми рядами данных в выбранной позиции по оси x. Это особенно удобно для сравнения нескольких линий в один и тот же момент времени.

Другие режимы включают 'closest' и 'x'.

Интерактивность легенды

С элементами легенды Plotly можно взаимодействовать. Один щелчок скрывает ряд данных, а двойной щелчок оставляет только его. Так пользователи могут сосредоточиться на нужных данных, не создавая отдельные диаграммы.

Эта возможность работает автоматически, когда диаграмма содержит несколько рядов данных.

Ползунки диапазона

Для временных рядов добавьте ползунок диапазона с помощью fig.update_xaxes(rangeslider_visible=True). Под диаграммой появится небольшой обзор, где пользователь сможет перетащить границы и выбрать диапазон дат.

Ползунок хорошо сочетается с кнопками выбора диапазона, например 1m, 6m, YTD.

Пользовательские шаблоны подсказок

Для полного контроля используйте hovertemplate — строку с заполнителями, такими как %{x} и %{y}. Вы сами определяете точный текст и формат отображения чисел при наведении.

Создание шаблона похоже на создание любой другой форматированной строки.

x, y = 2021, 42.567
template = 'Year %{x}: $%{y:.1f}M'
rendered = template.replace('%{x}', str(x)).replace('%{y:.1f}', format(y, '.1f'))
print(rendered)

Как понять, когда остановиться

Интерактивность предоставляет широкие возможности, но требует ресурсов. Слишком большое количество элементов управления может перегрузить неподготовленных читателей. Включайте возможности, которые помогают отвечать на реальные вопросы, а для остального полагайтесь на разумные настройки по умолчанию.

Панель режимов

Панель инструментов в правом верхнем углу каждой диаграммы называется панелью режимов. На ней находятся кнопки масштабирования, перемещения, автоматического подбора масштаба и камера для загрузки PNG. Её можно настроить или скрыть с помощью аргумента config при отображении диаграммы.

Скрытие неиспользуемых кнопок делает диаграмму понятнее для нетехнической аудитории.

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

Проверьте свои знания об интерактивных возможностях.

Итоги

Вы изучили интерактивные возможности Plotly:

  • Всплывающие подсказки при наведении, дополненные с помощью hover_data и hovertemplate
  • Масштабирование и перемещение через встроенную панель режимов
  • hovermode='x unified' для объединённых подсказок
  • Интерактивные легенды и ползунки диапазона для временных рядов

Используйте эти возможности осознанно, чтобы отвечать на реальные вопросы.

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

Урок «Интерактивные возможности» бесплатный?

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

Чему я научусь в уроке «Интерактивные возможности»?

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

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

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

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

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

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

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

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

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