一个简单的例子:
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。
看起来完整的答案在此处的评论中:/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)