Qt5Agg
是使用mayavi
3D可视化包所必需的。我已经在一个单独复制的conda
环境中使用pip安装了PyQt5
和mayavi
。然后默认后端从TkAgg
更改为QtAgg
。这有点奇怪,因为在另一台计算机上的早期安装中,默认值直接更改为Qt5Agg
。我总是使用以下命令从python控制台检查后端:
import matplotlib
matplotlib.get_backend()
即使在后端是“QtAgg”的情况下,我仍然可以在终端中使用
mayavi
而没有任何问题,但是在Pycharm中不行。在这里,我会得到一个无响应的空窗口(如下图所示):
我通过在plt
调用之前显式使用Qt5Agg
而不是QtAgg
来解决了这个问题:
import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
但我希望有比在每个脚本中使用上述方法更好的方式。正如我之前提到的,我已经安装了mayavi,并在另一台PC的Pycharm中成功地使用了它,在那里默认的后端是“Qt5Agg”,因此不需要显式更改后端。
我是否忽略了什么明显的事情?请问是否有一种方法可以在使用pip安装PyQt5后将matplotlib的默认后端从QtAgg
更改为Qt5Agg
?
提前感谢!
Qt5Agg
已被弃用,并且由于mayavi
仍在使用它,因此存在问题。 - Pratik Dash