首页 > 解决方案 > 来自 matplotlib 的后端使用

问题描述

我正在创建一个使用 tensorflow 对象检测 api 的模块。好吧,我想出了原始tensorflow代码使用的情况:

import matplotlib; matplotlib.use('Agg') 

pyplot以前在我的代码中使用过,所以后端自动设置TkAgg为我可以从这条消息中猜到:

后端 TkAgg 是交互式后端。打开交互模式。

从关于后端的文档中,matplotlib我没有得到它们之间的区别。好像Agg是通用渲染引擎,TkAgg是后端(render+canvas)?

我想禁用警告(通过消除原因而不是抑制它),我想知道指定它是否有任何区别

matplotlib.use('Agg')

而不是

matplotlib.use('TkAgg')

据我了解,前者似乎更笼统,我猜想渲染器(Agg、GTK、Cairo 等)是自动选择的?是这样吗?那么,在我的系统(Ubuntu 16.04)中它们是等价的吗?前者是否为其他平台提供了更多的可移植性,而后者则被 Tk 卡住了?

标签: pythonmatplotlib

解决方案


推荐阅读