2016-05-25 3 views
0

Я хотел бы аннотировать панели фигур, которые я делаю с панельными надписями («A», «B», ... ») в matplotlib. Например, я хотел бы аннотировать набор подзаголовков с большим« A «в верхнем левом углу рисунка, как в коде ниже. как я могу изменить рисунок холста, чтобы сделать это„А“видно?Как изменить размер холста размера в matplotlib без изменения участков?

f = plt.figure(figsize=(5,5)) 
plt.subplot(2, 2, 1) 
# this "A" is clipped in the plot 
plt.annotate("A", 
      xy = (-0.25, 1.1), 
      xytext = (-0.25, 1.1), 
      xycoords = 'axes fraction', 
      textcoords = 'axes fraction', 
      fontsize=30) 
plt.subplot(2, 2, 2) 
plt.subplot(2, 2, 3) 
plt.subplot(2, 2, 4) 
plt.tight_layout() 
plt.show() 

how to make room for text label by increasing padding around subplots?

есть способ, чтобы добавить» отступы «слева от подзаголовков, чтобы они были сдвинуты вправо от фигуры, не изменяя параметр figsize?» и без масштабирования графиков? достаточно места на холсте, чтобы соответствовать метке и подзаголовкам, поскольку они е.

ответ

3

plt.subplots_adjust() Добавить:

f = plt.figure(figsize=(5,5)) 
plt.subplot(2, 2, 1) 
# this "A" is clipped in the plot 
plt.annotate("A", 
      xy = (-0.25, 1.1), 
      xytext = (-0.25, 1.1), 
      xycoords = 'axes fraction', 
      textcoords = 'axes fraction', 
      fontsize=30) 
plt.subplot(2, 2, 2) 
plt.subplot(2, 2, 3) 
plt.subplot(2, 2, 4) 
plt.tight_layout() 
plt.subplots_adjust(top=0.9) 
plt.show() 

просто убедитесь, что не ставить plt.tight_layout после plt.subplots_adjust как это приведет к перезаписи изменений.

Также см. this страница об изменении подзаговоров.

На рисунке, полученные с использованием приведенного выше кода выглядит следующим образом: enter image description here

Смежные вопросы