在使用text.usetex:True时,无法在Windows中将matplotlib图保存为.eps

时间:2015-11-04 14:56:14

标签: python matplotlib latex anaconda eps

当我运行以下代码时:http://dpaste.com/0210P09我的Linux发行版上的一切正常。

但是,在Windows7(64位)中,我无法在svgTraceback (most recent call last): File "<ipython-input-1-b8da411d11b0>", line 1, in <module> runfile('C:/Users/12151056/Documents/Python Scripts/MyPython/1Tplot_2.py', wdir='C:/Users/12151056/Documents/Python Scripts/MyPython') File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 685, in runfile execfile(filename, namespace) File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 85, in execfile exec(compile(open(filename, 'rb').read(), filename, 'exec'), namespace) File "C:/Users/12151056/Documents/Python Scripts/MyPython/1Tplot_2.py", line 67, in <module> plt.savefig('excel-6.eps') File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 577, in savefig res = fig.savefig(*args, **kwargs) File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\matplotlib\figure.py", line 1476, in savefig self.canvas.print_figure(*args, **kwargs) File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\matplotlib\backend_bases.py", line 2211, in print_figure **kwargs) File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\matplotlib\backends\backend_ps.py", line 1009, in print_eps return self._print_ps(outfile, 'eps', *args, **kwargs) File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\matplotlib\backends\backend_ps.py", line 1033, in _print_ps **kwargs) File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\matplotlib\backends\backend_ps.py", line 1398, in _print_figure_tex rotated=psfrag_rotated) File "C:\Users\12151056\AppData\Local\Continuum\Anaconda3\lib\site-packages\matplotlib\backends\backend_ps.py", line 1556, in gs_distill your image.\nHere is the full report generated by ghostscript:\n\n' + fh.read()) TypeError: Can't convert 'bytes' object to str implicitly 中成功保存。

这是我得到的错误:

text.usetex : False

如果我使用Private Sub Worksheet_Activate() If Range("G2") <> "Open" Then Range("B2:F2").ClearContents End If 我完全没问题。

我已经安装了livetex并安装了Ghostscript。

有任何建议可以尝试解决吗?

1 个答案:

答案 0 :(得分:3)

这里有两个问题。

中的第一个和次要的是
  

C:\ Users \ 12151056 \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-package \ matplotlib \ backends \ backend_ps.py&#34;,第1556行

你应该改变

fh.read()

fh.read().decode()

这是一个Python 2/3错误,在处理Ghostscript出错的事实时发生。

主要问题是matplotlib找不到Ghostscript,因为它不在路径环境变量中。您可以通过打开命令提示符并尝试命令gswin32cgs来检查。如果未找到这些命令,则必须将这些Ghostscript可执行文件的路径添加到路径环境变量中。就我而言,它是:

  

C:\ Program Files(x86)\ gs \ gs8.54 \ bin

但这取决于您的安装路径。