pycharm 属性错误:'FigureCanvasInterAgg'对象没有属性'renderer'

tuwxkamq  于 2022-11-08  发布在  PyCharm
关注(0)|答案(3)|浏览(809)

我使用的是Python 2.7,错误源于下面几行:

fig.canvas.draw()
img = np.array(fig.canvas.renderer._renderer)

我已经尝试了所有其他的解决方案,从将后端更改为WXAgg或GTKAgg,并显式地包括matplotlib.use(“WXAgg”),它仍然不起作用。
我也在Fedora上运行。
有什么建议吗?谢谢

1yjd4xko

1yjd4xko1#

只需转到文件-〉设置-〉工具-〉Python科学取消选中该项目。祝你好运

9w11ddsr

9w11ddsr2#

为了回答你的问题,我开了一个账户。这里有一个快速而肮脏的解决办法:
FigureCanvasAgg.draw(self) to draw()方法插入%PycharmInstallDir%\helpers\pycharm_matplotlib_backend\backend_interagg.py中的FigureCanvasInterAgg(FigureCanvasAgg)
我把它插入到我使用的版本的第92行。虽然没有必要,但我建议在修改之前备份backend_interagg.py文件。我的系统上的文件是只读的,所以要修改它,你可能需要把它复制到其他地方,添加这一行,然后复制回来,用管理员权限覆盖它。
正如ImportanceOfBeingErnest所说,这是一个PyCharm问题:helper函数作者覆盖了FigureCanvasAgg类的draw()方法,而没有维护其预期功能。

4ioopgfo

4ioopgfo3#

plt.gcf().canvas.get_renderer()
fig.show()

它对我的Qt5Agg后端和PyCharm IDE很有效。

相关问题