我终于设法解决了这个问题。它可能看起来很奇怪,但也许其他人可以从中受益。
解决方案可能取决于您使用的软件。我使用Enthought Canopy(Python)和W8 64bit下的MikTeX 2.9。 如果您想使用'text.usetex'输出带有matplotlib的.ps和.eps文件:True选项,那么您将遇到上述问题。
解决方案:
- 下载和安装http://www.ghostscript.com/download/gsdnld.html Ghostscript的(32位)。
- 从http://www.tm.uka.de/~bless/ps2eps下载ps2eps-1.68.zip。程序在手册中给出,但我想用环境变量指出部分。在最后一步中,您需要进入控制面板 - >系统 - >高级系统设置。然后点击“高级”标题,在窗口底部看到您点击的“环境变量”。然后,您使用USERNAME的用户变量的“新建”按钮。然后你输入变量名称'ps2eps',并输入你保存ps2eps.pl文件的实际路径中的变量值。在我的情况下,这是'C:\ Program Files(x86)\ ps2eps \ bin \'。你可以检查你是否在命令窗口中键入'ps2eps'。
- 从http://www.foolabs.com/xpdf/download.html下载xpdfbin-win-3.03.zip。你只需要文件'pdftops.exe'。但是我不能像步骤2那样分配路径。我通过将'pdftops.exe'放入MikTeX 2.9文件夹中解决了这个问题。我的确切位置是'C:\ Program Files \ MiKTeX 2.9 \ miktex \ bin \ x64'。
我当时能够将数字保存为.ps并且不再有任何错误消息。请记住在'postscript options'下使用http://matplotlib.org/users/usetex.html上提出的设置。 在自己使用了以下设置:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import matplotlib as mpl
mpl.rc('font', **{'family':'serif', 'serif':['Computer Modern Roman'],
'monospace':['Computer Modern Typewriter']})
params = {'backend': 'ps',
'text.latex.preamble': [r"\usepackage{upgreek}",
r"\usepackage{siunitx}",
r"\usepackage{amsmath}",
r"\usepackage{amstext}",],
'axes.labelsize': 18,
#'axes.linewidth': 1,
#'text.fontsize':17,
'legend.fontsize': 10,
'xtick.labelsize': 13,
#'xtick.major.width' : 0.75,
'ytick.labelsize': 13,
'figure.figsize': [8.8,6.8],
#'figure.dpi': 120,
'text.usetex': True,
'axes.unicode_minus': True,
'ps.usedistiller' : 'xpdf'}
mpl.rcParams.update(params)
mpl.rcParams.update({'figure.autolayout':True})
(而许多则params的只是我自己的目的,在后面的地块)
作为一个初学者,我不是非常了解从依赖“ backend',如果你正在从你的python控制台运行脚本的话。但是我用这个没有之前的任何--pylab设置,我不知道,如果一个无需手动切换后端,如果他是在控制台与特定matplotlib后端工作了。
听起来像是你需要安装GS(Ghostscript的)http://www.ghostscript.com/download/ – Jakob
是否样品工作在电脑上? 我已经安装了ghostscript,错误信息仍然是一样的。 –
编辑:它已经证明,用户是错误的情况下.pdf不显示正确的图像。根据我的Adobe阅读器的偏好,我必须关闭'使用Windows配色方案',颜色突然重新出现。 当我看到TexStudio的内部PDF查看器正确显示数字时,我开始了这个想法。 这很好,但.ps(.eps)的问题仍未解决。 –