Добавление аннотаций

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

Alex Scriven

Data Scientist

Что такое аннотации?

  • Дополнительные текстовые блоки и данные, добавляемые на график

$$

  1. Привлечь внимание к конкретной точке данных
  2. Добавить примечания к графику

Аннотация, связанная с данными

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

Создание аннотаций

$$

  • С помощью add_annotation()
    • Добавляет одну аннотацию

$$

  • С помощью update_layout() и аргумента annotations
    • Принимает список объектов аннотаций
Введение в визуализацию данных с Plotly на Python

Основные аргументы аннотаций

  • text — отображаемый текст
    • Может включать переменные

$$

  • x и y: задают положение аннотации

$$

  • showarrow = True/False — отображение стрелки
    • Стрелку можно настроить

$$

🛑 Будьте осторожны с абсолютным размещением аннотаций — при изменении данных элементы могут перекрыться

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

Позиционирование аннотаций

 

  • По умолчанию x и y соответствуют значениям данных на графике

$$

  • Задайте xref и yref равными paper для абсолютного позиционирования
    • Тогда x и y — доли от 0 до 1 относительно области графика
    • (x=0.5, y=0.5) соответствует центру графика
Введение в визуализацию данных с Plotly на Python

Аннотации, связанные с данными

 

  • Выделение компании на диаграмме рассеяния
my_annotation = dict(
    x=215111, y=449000,

showarrow=True, arrowhead=3,
text="Our company is doing well", font=dict(size=10, color="black") )
fig.update_layout(annotations=[my_annotation]) fig.show()

 

$$

Аннотация, связанная с данными

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

Плавающая аннотация

$$

float_annotation = dict(
    xref="paper", yref="paper",

x=0.5, y=0.8,
showarrow=False, text="You should <b>BUY</b>", font=dict(size=15, color="black"), bgcolor="rgb(255,0,0)" )

 

Плавающая аннотация

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

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

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

Preparing Video For Download...