matplotlib:savefig在eps中省略了文本和轴标签

时间:2017-03-10 15:56:55

标签: python matplotlib eps

如果执行以下代码,则生成的eps文件不包含刻度标签或轴标签。

new TreeSet<String>()

作为一些额外的信息:我正在使用anaconda发行版的4.3.0版本并在Spyder 3.1..2中执行我的代码。我测试了两个后端TkAgg和Qt5Agg,两者的结果是一样的。

我是如何获得正确的eps文件的?

或者:如果我想稍后导入MS Word,可以使用哪种其他矢量图形格式?

2 个答案:

答案 0 :(得分: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)。

答案 1 :(得分:0)

我遇到了同样的问题。当我绘制时间序列或散点图时,eps 文件很好。但是当我使用数据框数据绘制地理空间图时,保存的 eps 文件不包含文本和刻度标签。所以我只是尝试:

import matplotlib
matplotlib.use('PS') 
matplotlib.rcParams['text.usetex'] = True

看来,如果您将 text.usetex 设为 True,可能会有所帮助。 顺便说一句,我的 Matplotlib 是 3.4.2,操作系统是 MacOS,我使用的是 Python 3.7 的 Spyder。实际上我不知道为什么它有时会起作用有时不起作用,以及为什么在我添加 matplotlib.rcParams['text.usetex'] = True 后它起作用......这可能是因为我在绘制地理空间图时使用了 alpha(例如 set {{1} }在alpha=5中)。稍后我会举一些小例子。