вам, возможно, придется поиграть со значениями x и y в text, чтобы правильно его выровнять.
Вы можете найти более полную документацию здесь.
Ответ 2
Решение без ручного размещения заключается в использовании "смешанных преобразований".
Преобразования преобразуют координаты из одной системы координат в другую. Задав преобразование через параметр transformtext, вы можете задать координаты x и y текста в системе координат оси (переходя от 0 к 1 слева направо/сверху вниз по осям x/y соответственно), При смешанных преобразованиях вы можете использовать смешанную систему координат.
Это именно то, что вам нужно: у вас есть координата x, заданная данными, и вы хотите разместить текст на осях y где-нибудь относительно оси, скажем, в центре. Код для этого выглядит следующим образом:
import matplotlib.transforms as transforms
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# the x coords of this transformation are data, and the
# y coord are axes
trans = transforms.blended_transform_factory(
ax.transData, ax.transAxes)
x = 10
ax.axvline(x)
plt.text(x, .5, 'hello', transform=trans)
plt.show()