2017-03-10 272 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