我正在编写一个快速而肮脏的脚本来动态生成绘图。我使用下面的代码(来自Matplotlib文档)作为起点:
from pylab import figure, axes, pie, title, show # Make a square figure and axes figure(1, figsize=(6, 6)) ax = axes([0.1, 0.1, 0.8, 0.8]) labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' fracs = [15, 30, 45, 10] explode = (0, 0.05, 0, 0) pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True) title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5}) show() # Actually, don't show, just save to foo.png
我不想在 GUI 上显示绘图,相反,我想将绘图保存到文件(比如 foo.png)中,例如,它可以在批处理脚本中使用。我怎么做?
然问题已经得到解答,但我想在使用matplotlib.pyplot.savefig. 文件格式可以通过扩展名指定:
matplotlib.pyplot.savefig
from matplotlib import pyplot as plt plt.savefig('foo.png') plt.savefig('foo.pdf')
将分别给出光栅化或矢量化输出,这两者都可能有用。此外,图像周围通常存在不受欢迎的空白,可以通过以下方式删除:
plt.savefig('foo.png', bbox_inches='tight')
请注意,如果显示绘图,plt.show()则应遵循plt.savefig(),否则文件图像将为空白。
plt.show()
plt.savefig()