Как переместить каждую метку маркера в графике matplotlib?

#python #matplotlib

Вопрос:

Ниже у меня есть простой скрипт для графика:

 import matplotlib.pyplot as plt

days = ["Monday", "Tuesday", "Wednesday"]
values = [10, 15, 30]
labels = ["A", "B", "C"]

fig, ax = plt.subplots()
ax.plot(days, values, marker = 'o')

for i, txt in enumerate(labels):
    text = ax.annotate(txt, (days[i], values[i]), fontsize=20)

plt.show()
 

Что создает следующую диаграмму:
введите описание изображения здесь

Я хотел бы переместить метки на маркерах данных (A, B и C) вправо на N градусов каждый. Как бы я сделал это, основываясь на относительном положении каждого маркера?

Ответ №1:

Не уверен насчет градусов, но вы могли бы использовать что-то подобное, чтобы переместить текст на 10 пунктов вправо и на 10 пунктов вниз.

 for i, txt in enumerate(labels):
    text = ax.annotate(txt, (days[i], values[i]), fontsize=20, textcoords="offset points", xytext=(10,-10))
 

Комментарии:

1. Да, я должен был сказать «точки» вместо «градусы», для меня это ни здесь, ни там. Спасибо!