gpt4 book ai didi

python-2.7 - 无法将图形另存为 .eps [无法识别 gswin32c]

转载 作者:行者123 更新时间:2023-12-03 17:56:07 25 4
gpt4 key购买 nike

我在 PyLab(64 位)中使用 Enthought Canopy。对于我的报告,我需要使用 Latex (XeLaTex) 并且绘图是使用 matplotlib 完成的。

为了获得第一个想法,我刚刚从 http://matplotlib.org/users/usetex.html 复制了第二个示例并编译它。它看起来不错,我可以毫无问题地将它保存为普通 png。但是,如果我尝试将其另存为 .eps 或 .ps,它不起作用并出现错误:

以 10 为底的 int() 的无效文字:“

另外在 Pylab shell 中它显示:

“gswin32c”不是内部或外部命令,也不是可运行的程序或批处理文件。

如果我将其另存为 .pdf,我没有任何问题,除了文本全是黑色而不是红色和蓝色。这是一个问题,因为在我的绘图中有两个轴,我需要将它们着色以提高可读性。

如果我随后尝试从给定的示例(所有文本)中删除一些行,我仍然无法将其保存为 .eps 或 .ps。我无法弄清楚问题所在,与此相关的所有其他主题都没有给我一个洞察力。所以我真的需要你的帮助,因为我不能为我的报告使用 .png。

提前致谢!!!

最佳答案

我终于设法解决了这个问题。它可能看起来很奇怪,但也许其他人可以从中受益。

解决方案可能取决于您使用的软件。我在 W8 64 位下使用 Enthought Canopy (Python) 和 MikTeX 2.9。如果您想使用 'text.usetex': True 选项使用 matplotlib 输出 .ps 和 .eps 文件,那么您将遇到上面发布的问题。

解决方法:

  1. http://www.ghostscript.com/download/gsdnld.html 下载并安装 Ghostscript(32 位) .
  2. http://www.tm.uka.de/~bless/ps2eps 下载 ps2eps-1.68.zip .程序在手册中给出,但我想指出环境变量的部分。在这最后一步中,您需要转至控制面板 --> 系统 --> 高级系统设置。然后单击“高级”标题,然后在窗口底部看到单击的“环境变量”。然后使用“新建”按钮为 USERNAME 设置用户变量。然后输入变量名“ps2eps”,输入保存 ps2eps.pl 文件的实际路径作为变量值。在我的例子中,这是“C:\Program Files (x86)\ps2eps\bin\”。您可以检查是否在命令窗口中键入“ps2eps”。
  3. 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 并且不再有任何错误消息。请记住使用 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})

(而许多参数只是为了我稍后在情节中的目的)

作为初学者,如果您从 Python 控制台运行脚本,我不太了解所使用的“后端”的依赖性。但是,我之前在没有任何 --pylab 设置的情况下使用过它,我不知道如果他已经在具有特定 matplotlib 后端的控制台中工作,是否需要手动切换后端。

关于python-2.7 - 无法将图形另存为 .eps [无法识别 gswin32c],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19745282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com