如何在matplotlib.pyplot中显示savefig?

时间:2016-08-18 08:16:18

标签: python matplotlib plot legend

我正在使用matplotlib.pyplot绘制带有图例的条形图,plt.savefig()保存的图形与plt.show()相比不完整。更确切地说,图例不在图中,jpg文件只有传说中的左半部分。

我的代码:

from matplotlib import pyplot as plt
fig = plt.figure(figsize=(12,6))
plt.bar(x, y, label="a")
plt.legend(bbox_to_anchor=(1.02, 1), loc="upper left")
plt.show()
fig.savefig("a.jpeg")

我查看了这个答案Matplotlib savefig with a legend outside the plot,但所选答案建议手动调整轴。我有很多不同的数字,所以可能不合适。自从几年前发布以来,我想知道是否可以使用任何自动方法来使plt.savefig()的效果为plt.show()?我在plt.savefig()中找不到任何适当的论据。

谢谢!

1 个答案:

答案 0 :(得分:2)

希望这会解决问题。在参数中添加bbox_inches='tight',有助于删除空格

 fig.savefig('a.jpeg', bbox_inches='tight', pad_inches=0)