从脚本中使用Matplotlib的渲染器问题

2024-10-01 17:36:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我把范围缩小到这个电话:

fig.canvas.tostring_argb() #fig=matplotlib.pyplot.figure()

当我以python脚本的形式运行代码时,此函数将引发一个AttributeErrorAttributeError: 'FigureCanvasGTKAgg' object has no attribute 'renderer'

但是,如果在ipython --pylab命令行中运行,则此代码可以正常工作。在

从文档中可以看出,Agg呈现器应该可以正常工作。在

背景是,我试图用数字制作一部电影,但没有保存画面 到磁盘;根据this question。我使用的是流式像素阵列的方法 为了ffmpeg(作为一个单独的进程运行)来实现这一点,我需要来自帧的argb值数组。在

有没有一些配置设置可以让matplotlib在脚本中正常工作?在

编辑 根据注释尝试use('Agg');仍然失败;这是一个最小的工作示例。在

^{pr2}$

Tags: 函数代码脚本matplotlibfig形式aggfigure
2条回答

最后我安装并使用了WXAgg后端;Agg和默认的GTKAgg,对我来说不起作用。在

我怀疑你错过了打给:

fig.canvas.draw()

以前

^{pr2}$

作为

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot
fig=matplotlib.pyplot.figure()
fig.canvas.tostring_argb()

对我来说失败了,但是

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot
fig=matplotlib.pyplot.figure()
fig.canvas.draw()
fig.canvas.tostring_argb()

有效。在

相关问题 更多 >

    热门问题