每隔一段时间一个情节我试图与canvas.print_figure
的matplotlib
作图失败RuntimeError
我不明白。对于我来说,提供一个最小的运行示例(特别是因为我不能真正复制它)将会非常复杂,但是我可以将这个调用和追踪放在这里,我希望有人能够指向我应该看的地方为了追查这个问题。“错误读取PNG标题”运行时错误
这里的函数调用:
canvas.print_figure(filename, papertype='a4', orientation='landscape',
dpi=300, format='png')
其中canvas
是FigureCanvas
实例,filename
有点像picture1110101.png
。
以下是完整回溯(我把它换成长路径名用点):
Traceback (most recent call last):
File ".../draw.py", line 235, in plot
_plot(*args[1:], **kwargs)
File ".../draw.py", line 177, in _plot
dpi=dpi, format=ftype)
File ".../matplotlib/backend_bases.py", line 2093, in print_figure
**kwargs)
File ".../matplotlib/backends/backend_agg.py", line 491, in print_png
FigureCanvasAgg.draw(self)
File ".../matplotlib/backends/backend_agg.py", line 439, in draw
self.figure.draw(self.renderer)
File ".../matplotlib/artist.py", line 54, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/figure.py", line 999, in draw
func(*args)
File ".../matplotlib/artist.py", line 54, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/axes.py", line 2086, in draw
a.draw(renderer)
File ".../matplotlib/artist.py", line 54, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/axis.py", line 1053, in draw
tick.draw(renderer)
File ".../matplotlib/artist.py", line 54, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/axis.py", line 240, in draw
self.label1.draw(renderer)
File ".../matplotlib/artist.py", line 54, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File ".../matplotlib/text.py", line 576, in draw
self._fontproperties, angle)
File ".../matplotlib/backends/backend_agg.py", line 226, in draw_tex
Z = texmanager.get_grey(s, size, self.dpi)
File ".../matplotlib/texmanager.py", line 510, in get_grey
X = read_png(os.path.join(self.texcache, pngfile))
RuntimeError: _image_module::readpng: error reading PNG header
因此,它看起来像一些相关的东西TeX
。我使用TeX
,我对包初始化文件的开头如下配置:
matplotlib.rc("text", usetex=True)
任何提示?
你可以尝试使用1.4.0rc1代码吗? – tacaswell