Сохраняйте текстовые метки в одинаковом относительном положении x к основным осям для всех уровней масштабирования, сохраняя абсолютное положение y - PullRequest
0 голосов
/ 14 февраля 2020

Я хочу добавить аннотации к моему графику с помощью hlines () и добавить текстовые метки. Я хочу расположить надписи с определенным полем от левой оси, которое остается одинаковым на всех уровнях масштабирования графика. Однако позиция y должна двигаться вместе с линией.

Это мой код для рисования линий:

bbox_props = dict(boxstyle='round, pad=0.3', ec='r', fc='w', alpha=1)
xmin, xmax = axis.get_xlim()
ax.hlines(pos, xmin, xmax, colors='r')
if not label is None:
    ax.text((xmax-xmin)*0.05 + xmin, pos, label, ha='left', va='center', bbox=bbox_props)

Это оригинальный график: Original plot и после увеличения метка двигается вправо Zoomed in, labels moves Я хочу, чтобы он оставался на таком же расстоянии, как это: Should look like this

Позиция у ведет себя отлично.

Возможно ли это как-то возможно?

1 Ответ

1 голос
/ 14 февраля 2020

Вам необходимо расположить координату x метки в координатах осей, а не в координатах данных,

ax.text(0.05, pos, label, transform=ax.get_yaxis_transform())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...