如何保存图 matplotlib.pyplot 所示?

How to savefig as show in matplotlib.pyplot?

我正在使用 matplotlib.pyplot 绘制带有图例的条形图,与 plt.show() 相比,plt.savefig() 保存的图形不完整。更准确的说,图例没有情节,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().

中找不到任何合适的论据

谢谢!

希望这将解决参数中的 problem.Add bbox_inches='tight',这有助于删除空格

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