Вы можете имитировать поведение обычной y-метки, явно добавляя текст к осям. Если y-пределы меняются совсем немного, это лучше всего сделать, поместив текст в координаты осей, а не в координаты данных. Это делается с помощью аргумента ключевого слова transform
, например:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
t = ax.text(-0.1, 0.5, 'Y label', rotation=90,
verticalalignment='center', horizontalalignment='right',
transform=ax.transAxes)
ax.set_ylim(-10, 10) # Change y-limits, label position won't change.
Текст помещается на полпути вверх по осям и немного левее. Изменения пределов данных осей не влияют на текст, поскольку он всегда определяется в координатах осей. Точно так же масштабирование графика или осей (изменение размера окна с помощью мыши, используя fig.set_size_inches
, et c) сохранит y-метку в положении относительно самого блока осей, именно то, что вы хотите для метки.
Возможно, вам придется поиграть с x-позицией метки, чтобы убедиться, что она не перекрывает отметки, когда они меняются во время анимации.