2015-05-26 5 views
0

Есть ли способ разместить текст в фигуре на долю оси? Я хочу, чтобы текст находился в одной позиции для всех моих сюжетов, независимо от их разных диапазонов в x и y. Эта функция находится в ax.annotate(), но мне нужно добавить дополнительный аргумент «xy», который делает мой код более трудным для чтения.Позиционирование текста по доле оси

import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1) 
ax.plot(np.arange(10),12*np.arange(10)) 
ax.annotate('Correct Position', xy=(0, 0), xytext=(0.4, 0.7), textcoords='axes fraction') 
ax.text(0.4, 0.7, 'Incorrect Position') 

plt.show() 

ответ

1

Вы можете использовать ключевое слово transform:

import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1) 
ax.plot(np.arange(10),12*np.arange(10)) 
ax.text(0.4, 0.7, 'Correct Position', transform=ax.transAxes) 

plt.show() 
Смежные вопросы