如何仅删除图表顶部的空间 - matplotlib

时间:2012-05-10 08:52:10

标签: python django matplotlib

我在网上看到很多帖子和答案试图回答这个问题 但是,使用bbox_inches = 'tight'图例会消失。

这是我的一个数字: enter image description here

由于我在绘图框外有图例,所以我只想删除顶部和底部的空白区域。

任何人都知道如何删除至少顶部的空格?

非常感谢!

2 个答案:

答案 0 :(得分:1)

我通常不使用bbox_inches = 'tight'功能,因为它不能非常可靠,正如您已经发现的那样。我宁愿生成带边界的PDF,然后使用外部工具裁剪它们。为了从python中无缝地完成这个,我使用

os.system('pdfcrop %s %s &> /dev/null &'%(pdf_in, pdf_out))

此处,pdf_in是您从matplotlib制作的PDF,pdf_out将是您的最终结果。

答案 1 :(得分:1)

您是否尝试过使用subplots_adjust()?例如,请参阅@DaveP对此问题的回答:Reduce left and right margins in matplotlib plot

另外,请看@Tian Chu对同一个问题的回答。

编辑:这对我有用:

import matplotlib.pyplot as plt
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot([1,2,3],[5,6,7],'gs-')
plt.subplots_adjust(top=0.99, right=0.99)
plt.show()