您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在matplotlib / Python中更改后端

如何在matplotlib / Python中更改后端

六年后,当我尝试确定backend可以使用哪个时,我遇到了一个类似的问题。 请注意下面的注意事项-

代码段对我来说效果很好:

import matplotlib
gui_env = ['TKAgg','GTKAgg','Qt4Agg','WXAgg']
for gui in gui_env:
    try:
        print "testing", gui
        matplotlib.use(gui,warn=False, force=True)
        from matplotlib import pyplot as plt
        break
    except:
        continue
print "Using:",matplotlib.get_backend()

Using: GTKAgg

可以推断出,交换新文件backend就像matplotlib.pyplot强制新文件后重新导入一样简单backend

matplotlib.use('WXAgg',warn=False, force=True)
from matplotlib import pyplot as plt
print "Switched to:",matplotlib.get_backend()

Switched to: WXAgg

对于仍然遇到问题的人,此代码将打印出: Non Gui后端列表; Gui后端列表; 然后尝试使用每个Gui后端来查看它是否存在并正常运行。

import matplotlib
gui_env = [i for i in matplotlib.rcsetup.interactive_bk]
non_gui_backends = matplotlib.rcsetup.non_interactive_bk
print ("Non Gui backends are:", non_gui_backends)
print ("Gui backends I will test for", gui_env)
for gui in gui_env:
    print ("testing", gui)
    try:
        matplotlib.use(gui,warn=False, force=True)
        from matplotlib import pyplot as plt
        print ("    ",gui, "Is Available")
        plt.plot([1.5,2.0,2.5])
        fig = plt.gcf()
        fig.suptitle(gui)
        plt.show()
        print ("Using ..... ",matplotlib.get_backend())
    except:
        print ("    ",gui, "Not found")

注意事项:自3.3.0版以来,matplotlib发生了变化

python 2022/1/1 18:36:34 有236人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶