我在网上看到很多帖子和答案试图回答这个问题
但是,使用bbox_inches = 'tight'
图例会消失。
这是我的一个数字:
由于我在绘图框外有图例,所以我只想删除顶部和底部的空白区域。
任何人都知道如何删除至少顶部的空格?
非常感谢!
答案 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()