Как аннотировать диаграммы рассеяния 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

#createdata
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

#createdata
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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *