matplotlib后端-我在乎吗?

j5fpnvbx  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(107)
>>> import matplotlib
>>> print matplotlib.rcsetup.all_backends
[u'GTK', u'GTKAgg', u'GTKCairo', u'MacOSX', u'Qt4Agg', u'Qt5Agg', u'TkAgg', u'WX', u'WXAgg', u'CocoaAgg', u'GTK3Cairo', u'GTK3Agg', u'WebAgg', u'nbAgg', u'agg', u'cairo', u'emf', u'gdk', u'pdf', u'pgf', u'ps', u'svg', u'template']

看看这些后端!
我需要关心使用的是哪个后端吗?例如,如果我只使用TkAgg后端开发和测试我的东西,而其他使用我的代码的人可能在他们的系统上使用GTKAgg后端,我的东西可能会以我没有注意到的方式为他们中断-或者所有后端都需要或多或少以相同的方式“工作”?

g9icjywg

g9icjywg1#

如果你在应用程序中嵌入了matplotlib,那么后端就很重要了,在这种情况下,你需要使用后端(GTK,Qt,TkInter,WxWindows),它与你用来构建你的应用程序的工具箱相匹配。如果你也在以一种简单的交互方式使用matplotlib,你还需要使用一个与你的机器上可用的相匹配的后端(如果你运行Gnome,则使用GTK,如果你运行KDE,则使用Qt,等等)(尽管大多数库已经安装在大多数机器上)
后端的绘图层部分(开罗,Agg.)在功能方面也很重要:您可以根据该层提供的内容与应用程序需要的内容进行选择(抗锯齿,alpha通道,导出格式...)。所以如果你使用TkAgg开发和测试,而其他人使用Eidogg. TkCairo运行,有些事情可能不起作用。OTOH,只要你坚持使用matplotlib API,而不是进入 Package 的工具包层,用QtAgg运行肯定会以非常相似的方式工作。

相关问题