Поле имеет отступ в 0,5 раза больше размера шрифта в 50 пунктов.Это означает, что вы хотите сместить текст на 25 точек от позиции в координатах данных.
К счастью, использование Annotation
вместо Text
позволяет сделать именно это.Создание Annotation
может быть сделано через .annotate
, который принимает аргумент xytext
и textcoords
именно для этой цели.
import matplotlib.pyplot as plt
plt.xlim(0.4,0.6)
plt.ylim(-0.1,0.1)
bbox = dict(facecolor='pink', alpha=0.2, edgecolor='red', boxstyle='square,pad=0.5')
plot,= plt.plot([0.4,0.6],[0,0])
text = plt.annotate('foo goo', xy=(0.5, 0), xytext=(0,0.5*50), textcoords="offset points",
color='gold', size=50, bbox=bbox, ha='center', va='bottom')
plt.show()