Как аннотировать диаграммы рассеяния Matplotlib

Как аннотировать диаграммы рассеяния Matplotlib

Вы можете использовать следующий базовый синтаксис для аннотирования точечных диаграмм в Matplotlib:

#add 'my text' at (x, y) coordinates = (6, 9.5)
plt.text (6, 9.5, 'my text')

В следующих примерах показано, как использовать этот синтаксис на практике.

Создайте базовую диаграмму рассеяния

В следующем коде показано, как создать базовую диаграмму рассеяния с помощью Matplotlib:

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt.scatter (x, y)

Аннотировать одну точку

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

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt.scatter (x, y)

#add text 'Here' at (x, y) coordinates = (6, 9.5)
plt.text (6, 9.5, 'Here')
Диаграмма рассеяния с аннотацией в Matplotlib

Аннотировать несколько точек

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

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt.scatter (x, y)

#add text to certain points
plt.text (3, 4.5, 'This')
plt.text (6, 9.5, 'That')
plt.text (8.2, 14, 'Those')
Аннотировать несколько точек на диаграмме рассеяния Matplotlib

Аннотировать все точки

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

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]
labs = ['A', 'B', 'C', 'D', 'E']

#create scatterplot
plt.scatter (x, y)

#use for loop to add annotations to each point in plot 
for i, txt in enumerate(labs):
 plt.annotate (txt, (x[ i ], y[ i ])) 
Аннотировать диаграмму рассеивания Matplotlib

По умолчанию аннотации размещаются непосредственно поверх точек на диаграмме рассеивания, а размер шрифта по умолчанию равен 10.

В следующем коде показано, как настроить обе эти настройки, чтобы аннотации располагались немного правее точек, а размер шрифта был немного больше:

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]
labs = ['A', 'B', 'C', 'D', 'E']

#create scatterplot
plt.scatter (x, y)

#use for loop to add annotations to each point in plot 
for i, txt in enumerate(labs):
 plt.annotate (txt, (x[ i ]+.25, y[ i ]), fontsize=12) 
Matplotlib аннотирует каждую точку на графике

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Matplotlib:

Как добавить легенду к диаграмме рассеивания в Matplotlib
Как раскрасить диаграмму рассеяния по значению в Matplotlib
Как добавить среднюю линию к графикам в Matplotlib

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.