2

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

这是我的一个数字: 在此处输入图像描述

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

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

非常感谢!

4

2 回答 2

4

你试过使用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()
于 2012-05-10T10:37:09.387 回答
1

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

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

pdf_in是您从 matplotlib 生成的 PDF,pdf_out将是您的最终结果。

于 2012-05-10T09:50:22.383 回答