使用text.usetex时无法将matplotlib图形保存到Windows中.eps:真



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

但是,在Windows7(64位)中,我无法成功地将其保存在epssvg中。

这是我得到的错误:

Traceback (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:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesspyderlibwidgetsexternalshellsitecustomize.py", line 685, in runfile
    execfile(filename, namespace)
  File "C:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesspyderlibwidgetsexternalshellsitecustomize.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:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesmatplotlibpyplot.py", line 577, in savefig
    res = fig.savefig(*args, **kwargs)
  File "C:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesmatplotlibfigure.py", line 1476, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "C:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesmatplotlibbackend_bases.py", line 2211, in print_figure
    **kwargs)
  File "C:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesmatplotlibbackendsbackend_ps.py", line 1009, in print_eps
    return self._print_ps(outfile, 'eps', *args, **kwargs)
  File "C:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesmatplotlibbackendsbackend_ps.py", line 1033, in _print_ps
    **kwargs)
  File "C:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesmatplotlibbackendsbackend_ps.py", line 1398, in _print_figure_tex
    rotated=psfrag_rotated)
  File "C:Users12151056AppDataLocalContinuumAnaconda3libsite-packagesmatplotlibbackendsbackend_ps.py", line 1556, in gs_distill
    your image.nHere is the full report generated by ghostscript:nn' + fh.read())
TypeError: Can't convert 'bytes' object to str implicitly

如果我使用text.usetex : False,我一点问题都没有。

我已经安装了livetex full和Ghostscript。

有什么建议可以尝试解决吗?

这里有两个问题。第一个也是次要的一个是

C: \Users\12151056\AppData\Local\Continum\Anaconda3\lib\site package\matplotlib\backends\backend_ps.py",第1556行

你应该更改

fh.read()

fh.read().decode()

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

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

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

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

最新更新