Python matplotlib运行时错误:在select_charmap中:无法使用latex设置charmap

Python matplotlib运行时错误:在select_charmap中:无法使用latex设置charmap,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,我尝试运行以下python代码(安装了python 3.4.7+scipy;安装了MikTeX 2.9.4476;安装了Windows 7) 如果使用plt.savefig(“test.svg”)或任何其他矢量图形格式,则会出现以下错误。没有这个保存命令,一切都正常。打印错误: Traceback (most recent call last): File "U:\ICCAP\S_SVN\ETHAN\test.py", line 12, in <module> plt.s

我尝试运行以下python代码(安装了python 3.4.7+scipy;安装了MikTeX 2.9.4476;安装了Windows 7)

如果使用plt.savefig(“test.svg”)或任何其他矢量图形格式,则会出现以下错误。没有这个保存命令,一切都正常。打印错误:

Traceback (most recent call last):
  File "U:\ICCAP\S_SVN\ETHAN\test.py", line 12, in <module>
    plt.savefig("test.svg")
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\pyplot.py", line 688, in savefig
    res = fig.savefig(*args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\figure.py", line 1539, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backend_bases.py", line 2230, in print_figure
    **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backends\backend_svg.py", line 1206, in print_svg
    return self._print_svg(filename, svgwriter, fh_to_close, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backends\backend_svg.py", line 1234, in _print_svg
    self.figure.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\figure.py", line 1133, in draw
    func(*args)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\axes\_base.py", line 2304, in draw
    a.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\legend.py", line 482, in draw
    self._legend_box.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 286, in draw
    c.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 286, in draw
    c.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 286, in draw
    c.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 286, in draw
    c.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 867, in draw
    self._text.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\text.py", line 792, in draw
    mtext=mtext)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backends\backend_svg.py", line 1152, in draw_tex
    self._draw_text_as_path(gc, x, y, s, prop, angle, ismath="TeX")
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backends\backend_svg.py", line 957, in _draw_text_as_path
    return_new_glyphs_only=True)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\textpath.py", line 346, in get_glyphs_tex
    font.select_charmap(charmap_code)
RuntimeError: In select_charmap: Could not set the charmap
回溯(最近一次呼叫最后一次):
文件“U:\ICCAP\S\U SVN\ETHAN\test.py”,第12行,在
plt.savefig(“test.svg”)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\pyplot.py”,第688行,保存图
res=图savefig(*args,**kwargs)
savefig中的文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\figure.py”,第1539行
self.canvas.print_图(*args,**kwargs)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\backend\u base.py”,第2230行,如图所示
**kwargs)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\backends\backend\u svg.py”,第1206行,打印\u svg
返回self.\u print\u svg(文件名、svgwriter、fh\u to\u close、**kwargs)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\backends\backend\u svg.py”,第1234行,在_print\u svg中
self.figure.draw(渲染器)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\artist.py”,第61行,在draw\u包装中
绘制(艺术家、渲染器、*args、**kwargs)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\figure.py”,绘图中第1133行
func(*args)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\artist.py”,第61行,在draw\u包装中
绘制(艺术家、渲染器、*args、**kwargs)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\axes\\ u base.py”,第2304行,在绘图中
a、 绘制(渲染器)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\artist.py”,第61行,在draw\u包装中
绘制(艺术家、渲染器、*args、**kwargs)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\legend.py”,绘图中第482行
self.\u legend\u box.draw(渲染器)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\offsetbox.py”,第286行,在绘图中
c、 绘制(渲染器)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\offsetbox.py”,第286行,在绘图中
c、 绘制(渲染器)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\offsetbox.py”,第286行,在绘图中
c、 绘制(渲染器)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\offsetbox.py”,第286行,在绘图中
c、 绘制(渲染器)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\offsetbox.py”,第867行,在绘图中
self.\u text.draw(渲染器)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\artist.py”,第61行,在draw\u包装中
绘制(艺术家、渲染器、*args、**kwargs)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\text.py”,第792行,在绘图中
多行文字=多行文字)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\backends\backend\backend\u svg.py”,第1152行,在draw\u tex中
self.\u将文本作为路径(gc、x、y、s、prop、angle、ismath=“TeX”)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\backends\backend\backend\u svg.py”,第957行,位于“绘图\u文本\u as\u路径”中
返回(仅新图示符=真)
文件“C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site packages\matplotlib\textpath.py”,第346行,在get\U glyphs\U tex中
字体。选择字符映射(字符映射代码)
运行时错误:在select_charmap中:无法设置charmap

有什么想法出了什么问题/可以改进吗?

我也有同样的问题,我通过将
matplotlib
升级到
1.5.1
解决了这个问题。这似乎与Matplotlib试图呈现一些字体,但没有捕获到本应捕获的异常有关

相关的:

Traceback (most recent call last):
  File "U:\ICCAP\S_SVN\ETHAN\test.py", line 12, in <module>
    plt.savefig("test.svg")
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\pyplot.py", line 688, in savefig
    res = fig.savefig(*args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\figure.py", line 1539, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backend_bases.py", line 2230, in print_figure
    **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backends\backend_svg.py", line 1206, in print_svg
    return self._print_svg(filename, svgwriter, fh_to_close, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backends\backend_svg.py", line 1234, in _print_svg
    self.figure.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\figure.py", line 1133, in draw
    func(*args)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\axes\_base.py", line 2304, in draw
    a.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\legend.py", line 482, in draw
    self._legend_box.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 286, in draw
    c.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 286, in draw
    c.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 286, in draw
    c.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 286, in draw
    c.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\offsetbox.py", line 867, in draw
    self._text.draw(renderer)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\text.py", line 792, in draw
    mtext=mtext)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backends\backend_svg.py", line 1152, in draw_tex
    self._draw_text_as_path(gc, x, y, s, prop, angle, ismath="TeX")
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\backends\backend_svg.py", line 957, in _draw_text_as_path
    return_new_glyphs_only=True)
  File "C:\WinPython-32bit-3.4.3.7Qt5\python-3.4.3\lib\site-packages\matplotlib\textpath.py", line 346, in get_glyphs_tex
    font.select_charmap(charmap_code)
RuntimeError: In select_charmap: Could not set the charmap