调用matplotlib绘图时vscode报错如下
根据提示查看提醒我说QT初始化失败,叫我重新下载。很诡异的是在实验室用机子时没有问题。
根据报错的个人推测,实验室机子安装了QT,我这台安装了只pyqt5,而且报错是QT的。
再深挖一点,matplotlib中的backend是专门用来显示我们代码所写图形的底层代码,我们可以使用以下命令查看当前的backend:
matplotlib.pyplot.get_backend()
查看到当前的backend是如下
查看本台机子可以用的backend如下,在cmd中使用如下命令:
matplotlib.rcsetup.all_backends
结果为
>>> matplotlib.rcsetup.all_backends
['GTK3Agg', 'GTK3Cairo', 'GTK4Agg', 'GTK4Cairo', 'MacOSX', 'nbAgg', 'QtAgg', 'QtCairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template']
根据个人推测,本台机子没有安装QT而又默认使用了QTAgg,所以我们使用matplotlib的方法进行强制转换显示,既然没有QT就试试没有QT的方法,经过几番尝试使用了TKAgg
matplotlib.use("TKAgg")
结果显示,就可以使用啦(*^▽^*)
一开始还是默认的QTAgg,之后强制转换成TKAgg后正常显示啦
如果觉得有用就帮忙点个赞啦(*^▽^*)