Matplotlib писать текст в поле

Если я создаю график, используя pylab из matlotlib, как это...

import pylab as p
x = [0,1,2]
y = [2,4,6]
p.plot(x,y)
p.show()

Я хочу использовать функцию p.text для добавления текста в график. Однако я хочу поместить текст в поле за пределами окна данных. Текстовая функция принимает только координаты x, y, которые соответствуют точкам данных, а не абсолютным x, y координатам пикселя всего окна. Любая идея, как я могу писать текст на полях?

Ответы

Ответ 1

Вы можете использовать функцию figtext. Отметим только, что координаты 0-1, поэтому примерно следующее текстовое поле слева от вертикальной оси:

p.figtext(0.05, 0.5, 'foo')

Дополнительную информацию см. в связанных документах.

Ответ 2

Если вы не используете режим pyplot и вместо этого хотите сделать это в объектно-ориентированном методе, вы можете сделать следующее:

text.set_transform(fig.transFigure)

Где текст - это объект matplotlib.text.Text, а fig - объект matplotlib.figure.Figure.