python – Matplotlib:带有阴影的PDF数字分辨率很差

当使用Matplotlib生成带有阴影的图形(例如饼图,条形图,气泡图)时,我在使用图的PDF版本中获得不错的分辨率时遇到了一些麻烦.保存为EPS很好,但是一旦我使用epstopdf或MPL的savefig(* .pdf),阴影就会变成像素化和分散…图像的矢量性质似乎已经丢失.

请参阅下面的最小代码

from matplotlib import pyplot as plt

# Define hatching styles
hatching = ["/", "o"]

fig, ax = plt.subplots()
wedges, texts = ax.pie([0.4, 0.6], colors=("SteelBlue", "Tomato"))

# Apply the hatching
for j, patch in enumerate(wedges): patch.set_hatch(hatching[j])

fig.savefig("hatchtest.pdf")

我用Gimp放大了一部分情节来说明差异……

放大EPS数字

放大PDF图

至于系统特定的细节,我使用的是Ubuntu 13.04,Python 2.7.4和MPL 1.2.1.我尝试了不同的后端,但似乎没有解决这个问题.理想情况下,我想在EPS和PDF中使用漂亮的矢量图像,以便它对日记友好.任何指针都将非常感激.

解决方法:

只是Evince PDF查看器的一个问题.在Adobe Reader中查看或打印图表可获得所需的结果.

上一篇:Ubuntu下convert命令将eps转pdf或者tif时出错的问题解决办法


下一篇:pdf转eps文件