当使用 Matplotlib 生成带有阴影的图形(例如饼图、条形图、气泡图)时,我在从图形的 PDF 版本中获得合适的分辨率时遇到了一些麻烦。保存为 EPS 很好,但是一旦我使用epstopdf
或 MPL's 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 中有漂亮的矢量图像,这样它就对期刊友好了。任何指针将不胜感激。