matplotlib的高质量地块

Max*_*ers 2 python plot matplotlib

我尝试绘制一些高质量的时间序列,但matplotlib无法保存高质量的数字.在绘图中输出如下图所示,这是截图.图片1

但是使用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
Run Code Online (Sandbox Code Playgroud)

其中sig_obj是一个长度> 350000的数组.在OS X 10.9.4上使用Python 3.4和matplotlib 1.3.3.

有没有人有想法提高我的情节质量?

Ado*_*obe 6

您可以为光栅图像设置高dpi:

savefig("1.png", dpi=600)
Run Code Online (Sandbox Code Playgroud)

或以矢量格式保存:

savefig("1.svg") # or: "1.pdf" (depending on a backend)
Run Code Online (Sandbox Code Playgroud)