我正在使用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()
中找不到任何适当的论据。
谢谢!
答案 0 :(得分:2)
希望这会解决问题。在参数中添加bbox_inches='tight'
,有助于删除空格
fig.savefig('a.jpeg', bbox_inches='tight', pad_inches=0)