3

当使用 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 图 使用 EPS 终端生成

放大 PDF 图 使用 PDF 终端生成

至于系统特定细节,我使用的是 Ubuntu 13.04、Python 2.7.4 和 MPL 1.2.1。我尝试了不同的后端,但似乎没有什么能解决这个问题。理想情况下,我希望在 EPS 和 PDF 中有漂亮的矢量图像,这样它就对期刊友好了。任何指针将不胜感激。

4

1 回答 1

5

只是 Evince PDF 查看器的问题。在 Adob​​e Reader 中查看或打印图表可得到所需的结果。

于 2013-08-05T14:55:41.450 回答