我想创建一个数字(> 100)子图进行日后分析。一个高达5x5的网格似乎可以正常工作,任何大于这个值的y轴都会变得非常脆弱,整个事情都是无法读取的。我尝试了各种不同的东西,比如设置方面等,但无济于事。matplotlib:subplots y轴太压扁,pdfpages只输出到一个页面
下面是一个5×50格输出: squashed subplots
这里是我的代码:
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('./output.pdf')
num_investigate = len(investigate)
ncols = 5
nrows = 50#math.ceil(num_investigate/ncols)
fig, axs = plt.subplots(nrows=nrows, ncols=ncols, sharex=False, figsize=(15,15))
for ax, file in zip(axs.flat, investigate[:(ncols*nrows)]):
try:
df = get_df_from_csv(file)
df['perf'] = df['val']/df['val'].ix[0] - 1
#ax.set_ylim(bottom=df['perf'].min(), top=df['perf'].max())
ax.set_aspect('auto')
df['perf'].plot(ax=ax, title=file)
except:
pass
plt.tight_layout()
pp.savefig()
pp.close()
我在如何经过反复研究解决这个真正的损失。
如何确保每个子图大小不变并且输出到多个pdf页面?
感谢
您是否试图简单地将figsize高度设置为更高的值,例如:'figsize =(15,50)'? – TLousky
是的。我以为figsize是一个绝对数字,所以这应该不会有任何区别 –