使用带有LaTex文本呈现的matplotlib创建.eps输出时出错(usetex)

时间:2015-02-16 15:16:28

标签: python matplotlib vector-graphics

我试图使用matplotlib homepage提供的示例使用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')”命令。但是,我收到错误消息:

  

文件“”,第1行,在中   运行文件( 'E:/Software/Python/Test/Plot/Matplotlib/tex_unicode_demo.py',   WDIR = 'E:/软件/ Python的/测试/绘图/ Matplotlib')

     

文件   “C:\ Python27 \ LIB \站点包\ spyderlib \部件\ externalshell \ sitecustomize.py”   第540行,在runfile execfile(文件名,命名空间)

     

文件“E:/Software/Python/Test/Plot/Matplotlib/tex_unicode_demo.py”,   第27行,在savefig中('tex_demo.eps',format ='eps')

     

文件“C:\ Python27 \ lib \ site-packages \ matplotlib \ pyplot.py”,第577行,   在savefig res = fig.savefig(* args,** kwargs)

     

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

     

文件   “C:\ Python27 \ LIB \站点包\ matplotlib \后端\ backend_qt5agg.py”   第161行,print_figure FigureCanvasAgg.print_figure(self,* args,   ** kwargs)

     

文件“C:\ Python27 \ lib \ site-packages \ matplotlib \ backend_bases.py”,行   2194,在print_figure ** kwargs)

     

文件   “C:\ Python27 \ LIB \站点包\ matplotlib \后端\ backend_ps.py”   第992行,在print_eps中返回self._print_ps(outfile,'eps',* args,   ** kwargs)

     

文件   “C:\ Python27 \ LIB \站点包\ matplotlib \后端\ backend_ps.py”   第1016行,在_print_ps ** kwargs)

     

文件   “C:\ Python27 \ LIB \站点包\ matplotlib \后端\ backend_ps.py”   第1381行,在_print_figure_tex中旋转= psfrag_rotated)

     

文件   “C:\ Python27 \ LIB \站点包\ matplotlib \后端\ 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

操作系统:Windows 8.1

1 个答案:

答案 0 :(得分:0)

我没有设法直接解决您的问题。但是我找到了一个解决方法。我在Windows PC上安装了Cygwin。在我调用我的python脚本之前,我将Cygwin bin目录添加到我的windows路径中:

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

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