尽管 rasterized=True,为什么 matplotlib 图文件大小很大?

mar*_*ius 2 python matplotlib

一个简单的例子:

from matplotlib.pyplot import plot, savefig
from numpy.random import randn

plot(randn(100),randn(100,500),"k",alpha=0.03,rasterized=True)
savefig("test.pdf",dpi=90)
Run Code Online (Sandbox Code Playgroud)

生产:

在此输入图像描述

但文件大小约为 8Mb。有什么想法出了什么问题吗?这可能是一个错误吗?我使用的是 Python 3.5.1 和 Matplotlib 2.1.2。

mar*_*ius 6

看起来完整的答案在此处的评论中:/sf/answers/847199671/

诀窍是使用set_rasterization_zorder将某个 zorder 以下的所有内容光栅化为单个位图,

gca().set_rasterization_zorder(1)
plot(randn(100),randn(100,500),"k",alpha=0.03,zorder=0)
savefig("test.pdf",dpi=90)
Run Code Online (Sandbox Code Playgroud)