Python 如何保存此matplotlib图形,使x轴标签不被裁剪?

Python 如何保存此matplotlib图形,使x轴标签不被裁剪?,python,matplotlib,pandas,Python,Matplotlib,Pandas,我正在ipython笔记本中运行以下代码片段,使用pandas数据分析库以及matplotlib.pyplot titles = {'gradStat_p3': "P3: Gradiometers", 'magStat_p3': "P3: Magnetometers", 'gradStat_mmn': "MMN: Gradiometers", 'magStat_mmn': "MMN: Magnetometers"} scales = {'gradStat': (-2

我正在ipython笔记本中运行以下代码片段,使用
pandas
数据分析库以及
matplotlib.pyplot

titles = {'gradStat_p3': "P3:  Gradiometers", 'magStat_p3': "P3:  Magnetometers",
          'gradStat_mmn': "MMN:  Gradiometers", 'magStat_mmn': "MMN:  Magnetometers"}

scales = {'gradStat': (-2.0 * 1e-22, 3.5 * 1e-22), 'magStat': (-1.6 * 1e-25, 4.5 * 1e-25)}

fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(8, 5))
fig.tight_layout()
for c, component in enumerate(('p3', 'mmn')):
    for s, sensor in enumerate(('gradStat', 'magStat')):
        key = sensor + '_' + component
        axes[c, s].set_ylim(scales[sensor])
        agg = aggregated[key]
        # Plot
        agg.plot(ax=axes[c, s], kind='bar', legend=False, title=titles[key])
        axes[c, s].set_xticklabels(agg.index.format(names=False))
        if not c:  # hide the labels
            axes[c, s].xaxis.set_visible(False)

        saveFile = '/tmp/ERF_comparative_barplot.pdf'
        fig.savefig(saveFile)
执行上述代码时,ipython笔记本的内联图形输出中将生成以下(正确)绘图:

请注意,x标签显示正确

但是,在保存图像时,x标签将被裁剪为:

我尝试调用
fig.savefig(savefile,bbox_inches=0
),但没有效果。如何避免这种裁剪

注意:为方便起见,我对
聚合的
变量进行了pickle处理。这是pandas DataFrame对象的字典,应该是运行上述代码和复制错误所需的全部内容(假设已安装pandas v.0.8.1)


非常感谢!

您可以使用
fig.tight_layout()


再次你好!再次感谢!非常好用。我真的欠你一杯啤酒,现在。。。
fig, ax = subplots(1,1,1)
ax.plot(np.random.randn(5))
ax.set_xticklabels(['this is a very long label', 'b', 'c', 'd', 'e'], rotation=90)
fig.tight_layout()
fig.savefig('test.pdf')