2012-07-21 3 views
0

У меня есть партия диаграмм, которые необходимо создать с использованием стандартного шаблона. Проблема в том, что количество цифр по оси Y варьируется от множества к множеству; это вызывает проблему, поскольку я не могу заставить макет разместить ярлык + цифры без обрезки.Пакетные корректировки для графиков matplotlib

Есть ли какие-либо рекомендации по выбору правильных значений для subplot_adjust, или сделать tight_layout сохранить название?

Код в настоящее время выглядит примерно так:

rc('text',usetex=True) 
rc('font',family='serif') 
mpl.rcParams.update({'font.size': 22}) 
fig = plt.figure(1,dpi=300,figsize=(4,4)) 
fig.suptitle(b.replace("_","-")) 
ax = fig.add_subplot(1,1,1) 
lx = 0 
for i in instances: 
    lx = max([lx,len(X[i])]) 
    plt.plot(X[i],Y[i]) 
plt.xlabel("X Label") 
plt.ylabel("Y Label") 
fig.subplots_adjust(bottom=0.1, top=0.9) # Works for some charts, not others! 
plt.savefig(b+".pdf",format="pdf") 
+0

ли все данные в одном диапазоне? Если это так, вы можете попытаться установить ограничения y, которые сделают тики (и, следовательно, количество цифр) одинаковыми на всех графиках. – tacaswell

+0

@tcaswell: Даже не слегка; хотя, я думаю, я могу просто заставить цифры. Я также планирую в конце концов скопировать эти участки, поэтому я также попытаюсь создать сетку подзаголовков в matplotlib напрямую. Мы посмотрим, что лучше всего работает. –

+0

Вы когда-нибудь узнали об этом? – tacaswell

ответ

0
majorFormattor = matplotlib.ticker.FormatStrFormatter('%0.1f') 
ax.yaxis.set_major_formatter(majorFormattor) 

Docs

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