2013-08-05 53 views
3

當使用Matplotlib生成帶陰影線的圖形(例如餅圖,條形圖,氣泡圖)時,我無法從PDF版本的圖中獲得像樣的分辨率。由於EPS節省,所以一旦我使用epstopdf或MPL的savefig(*.pdf),陰影就會變成像素化並且變得疏遠......圖像的矢量性似乎已經丟失。Matplotlib:帶有陰影的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") 

我用瘸子放大對劇情的一部分來說明區別...

放大了的EPS圖 Generated with EPS terminal

放大了PDF數字 Generated with PDF terminal

至於系統的具體細節,我使用Ubunt u 13.04,Python 2.7.4和MPL 1.2.1。我試過不同的後端,但似乎沒有解決這個問題。我最好喜歡在EPS和PDF中有漂亮的矢量圖像,以便它對所有期刊都很友好。任何指針將不勝感激。

回答

5

只是Evince PDF查看器的一個問題。在Adobe Reader中查看或打印該圖可以得到所需的結果。