2016-06-24 3 views
1
import matplotlib.pyplot as plt 
plt.figure() 
plt.xlabel('x') 
plt.ylabel('y') 
plt.plot([0,1],[1,0]) 
plt.show() 

Я хотел бы иметь возможность изменить размер только сам сюжет, а не все окно, без необходимости физически изменить ее размер. Например, я хотел бы, чтобы ось x была только в 0,75 раза до тех пор, пока она в настоящее время, и ось y будет всего в 0,5 раза длиннее. Помните, я просто говорю о самой занесенной части, а не о полном окне. Но как?Как изменить размер кадра в нанесено Matplotlib

ответ

0

Если я правильно понял ваш вопрос, то вы ищете функцию GridSpec в модуле matplotlib.

вы можете использовать:

import matplotlib.pyplot as plt 

def make_ticklabels_invisible(fig): 
    for i, ax in enumerate(fig.axes): 
     ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center") 
    for tl in ax.get_xticklabels() + ax.get_yticklabels(): 
     tl.set_visible(False) 


plt.figure(0) 
ax1 = plt.subplot2grid((3,3), (0,0), colspan=3) 
ax2 = plt.subplot2grid((3,3), (1,0), colspan=2) 
ax3 = plt.subplot2grid((3,3), (1, 2), rowspan=2) 
ax4 = plt.subplot2grid((3,3), (2, 0)) 
ax5 = plt.subplot2grid((3,3), (2, 1)) 

plt.suptitle("subplot2grid") 
make_ticklabels_invisible(plt.gcf()) 
plt.show() 

который вернет нам следующий пример:

enter image description here

для получения дополнительной информации вы можете посетить this link

+0

ОК, но я не пытаюсь для генерации нескольких подзаговоров. Я просто хочу получить один сюжет с указанными размерами. – Phys251

+0

Я понял, что вы ищете. Я предположил, что вы создадите один основной подзаговор и отредактируете размеры по своему усмотрению по сетке кадра. например, я дал вам изображение, показывающее, что вы можете контролировать размер каждого сюжета. –