当使用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中查看或打印图表可获得所需的结果.