2017-03-10 69 views
0

如果我執行以下代碼,則生成的eps文件不包含刻度標籤或軸標籤。matplotlib:savefig省略eps中的文本和軸標籤

import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(0,2*np.pi,100) 
y = np.sin(x) 

plt.figure() 
plt.plot(x,y) 
plt.xlabel('x') 
plt.ylabel('sin(x)') 
plt.savefig('image.eps', format='eps') 

由於一些額外的信息:我使用的是蟒蛇分佈的4.3.0版本和Spyder的3.1..2執行我的代碼。我測試了兩個後端TkAgg和Qt5Agg,結果對於兩者都是相同的。

任何想法如何我可以得到一個正確的eps文件?

或者:如果我以後要導入到MS Word中,可以使用哪種其他矢量圖形格式?

+0

當我運行這個,我得到正確的eps文件與文本等 –

+0

可能重複[Matplotlib標籤/標題消失時導出爲eps格式](http://stackoverflow.com/questions/20817455/matplotlib-標題 - 標題 - 消失時 - 出口的EPS格式) – Thomas

回答

0

所以,我認爲你會在這裏找到答案:https://stackoverflow.com/a/20817722/2402281


這可能是你的matplotlib後端不支持該操作的情況。您可以按如下改變matplotlib後端:

# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo 
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG 
import matplotlib 
matplotlib.use('PS') 

或matplotlibrc(見documentation)。

+0

這並沒有解決問題。另外'PS'生成沒有標籤的eps文件.. – rmnboss

+0

好吧...我很抱歉,沒有幫助。 可能性是這個問題與您的操作系統或一些丟失的庫相關,因爲我無法在Linux 4.9.11-1-ARCH GNU/Linux下使用Python 3.6.0重現該問題。 對於你的問題中的「可選」部分,你可能會看看這個SO線程:http://stackoverflow.com/a/40250694/2402281 – Thomas