提问者:小点点

使用带有LaTex文本渲染(usetex)的matplotlib创建. EPS输出时出错


我试图使用matplotlib主页提供的示例使用Latex文本渲染创建. EPS输出。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
This demo is tex_demo.py modified to have unicode. See that file for
more information.
"""
from __future__ import unicode_literals
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['text.usetex']=True
mpl.rcParams['text.latex.unicode']=True
from numpy import arange, cos, pi
from matplotlib.pyplot import (figure, axes, plot, xlabel, ylabel, title,
     grid, savefig, show)

figure(1, figsize=(6,4))
ax = axes([0.1, 0.1, 0.8, 0.7])
t = arange(0.0, 1.0+0.01, 0.01)
s = cos(2*2*pi*t)+2
plot(t, s)

xlabel(r'\textbf{time (s)}')
ylabel(r'\textit{Velocity (\u00B0/sec)}', fontsize=16)
title(r"\TeX\ is Number $\displaystyle\sum_{n=1}^\infty\frac{-e^{i\pi}}{2^n}$!",
      fontsize=16, color='r')
grid(True)
savefig('tex_demo.eps')

我刚刚在最后添加了“savefig('tex_demo. EPS')”命令。但是,我收到了错误消息:

File"",第1行,在
runfile中('E:/Software/Python/Test/Plot/Matplotlib/tex_unicode_demo.py', wdir='E:/Software/Python/Test/Plot/Matplotlib')

文件"C:\Python27\lib\site-包\spyderlib\widget\externalshell\sitecustomize.py",第540行,运行文件执行文件(文件名,命名空间)

文件"E:/Software/Python/Test/Plot/Matplotlib/tex_unicode_demo.py",第27行,在savefig中('tex_demo. EPS',格式='EPS')

在savefig res=fig. savefig(*args,**kwargs)中的文件"C:\Python27\lib\site-包\matplotlib\pyplot.py",第577行

文件"C:\Python27\lib\site-包\matplotlib\figure.py",第1470行,在savefig self. canvas.print_figure(*args,**kwargs)

文件"C:\Python27\lib\site-包\matplotlib\backend\backend_qt5agg.py",第161行,print_figure图CanvasAgg.print_figure(self,*args,**kwargs)

文件"C:\Python27\lib\site-包\matplotlib\backend_bases.py",第2194行,print_figure**kwargs)

文件"C:\Python27\lib\site-包\matplotlib\backend\backend_ps.py",第992行,在print_eps返回self._print_ps(outfile,'EPS',*args,**kwargs)

文件"C:\Python27\lib\site-包\matplotlib\backend\backend_ps.py",第1016行,_print_ps**kwargs)

文件"C:\Python27\lib\site-包\matplotlib\backend\backend_ps.py",第1381行,_print_figure_texrotated=psfrag_rotated)

文件"C:\Python27\lib\site-包\matplotlib\backend\backend_ps.py",第1539行,gs_distill您的映像。\n这是ghostscript生成的完整报告:\n\n'fh.read())

RuntimeError:ghostscript无法处理您的图像。这是ghostscript生成的完整报告:

我已经确保LaTeX、dvipng和Ghostscript的可执行文件的路径在我的路径变量中。

Matplotlib:1.4.2

Ghostscript:9.15

Python: 2.7.6

OS:Windows 8.1


共1个答案

匿名用户

我还没有设法直接解决你的问题。但是我找到了一个解决办法。我在windowsPC上安装了Cygwin。在调用python脚本之前,我在windows路径中添加了Cygwinbin目录:

set "PATH=%PATH%;C:\cygwin64\bin"

对我来说,至少这解决了我的问题。希望它有帮助。