Как аннотировать точки данных для pyplot в python

Я хочу пометить каждую точку данных на моем pyplot.

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

Это мой код:

 import matplotlib.pyplot as plt

 x_position = [1,6,2,7,4,5]
 y_position = [8,4,7,7,2,4]

 plt.plot(x_position, y_position, 'rx')
 plt.show()

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

Любая помощь будет оценена.

Благодарю.

1 ответ

Использование plt.annotate:

import matplotlib.pyplot as plt

x_position = [1,6,2,7,4,5]
y_position = [8,4,7,7,2,4]

plt.plot(x_position, y_position, 'rx')

labels = ['text{}'.format(i) for i in range(len(x_positions))]
for label, x, y in zip(labels, x_position, y_position):
    plt.annotate(label, xy=(x, y), xytext=(2, 2),
    arrowprops=dict(facecolor='black', shrink=0.05))
plt.show()
Другие вопросы по тегам