我尝试以高质量绘制一些时间序列,但matplotlib无法以高质量保存数字。在绘图中,输出如下图所示,这是一个屏幕截图。
但是使用plt.safefig()或保存按钮会给我以下结果
问题的核心是我必须使用png-backend保存图。 Safing as pdf,创建了一个文件,其他应用程序无法打开。即使文件是< 500 kb。安全性为.eps时也会发生同样的情况。我的代码就像:
fig = plt.figure(1, figsize=(10, 6))
ax = fig.add_subplot(111, autoscale_on=True, ylim=(-1,1))
ax.plot(sig_obj, '-k', alpha=.3)
# plot of vertical lines ...
plt.savefig('figure_1.png') # or .pdf
其中sig_obj
是一个长度为>的数组。 350000.在OS X 10.9.4上使用Python 3.4和matplotlib 1.3.3。
有没有人有想法提高我的情节质量?
答案 0 :(得分:6)
您可以为光栅图像设置高dpi:
savefig("1.png", dpi=600)
或以矢量格式保存:
savefig("1.svg") # or: "1.pdf" (depending on a backend)