在PyCharm Professional中打印时,Mplot3D打印将冻结



最近,当我在PyCharm中进行MatPlotLib 3D绘图时,在执行plt.show((命令时,调试和绘图窗口都冻结了。在情节的顶部栏中提到(未回应(。PyCharm社区版2019和PyCharm专业版2021都会出现这种情况。我正在运行Python的v3.8。如果我执行plt.show(Block=True(,就会出现交互式3D图,但我需要关闭该图才能继续调试。

有人知道我如何用plt.show((绘制图形,打开交互式窗口,在仍然打开交互式窗口的情况下继续调试吗?这在我以前的Python v3.7版本中有效,但最近升级到v3.8时出现了问题。

我最近在使用matplotlib进行绘图时遇到了同样的问题。这似乎与matplotlib用于选择其默认后端的优先级顺序的变化有关。根据与Python包捆绑在一起的matplotlibrc文件,订单过去是

MacOSXQt5AggGtk3Agg TkAgg WxAgg Agg

在以前的版本中(例如,v3.4.2(,而在最近的版本(例如,v4.5.0(中,它已更改为

MacOSXQtAggGtk4Agg Gtk3Agg TkAgg WxAgg Agg

对我来说,通过在Python中导入matplotlib后立即将后端设置为Qt5Agg

import matplotlib
matplotlib.use("Qt5Agg")

确实解决了";没有响应";问题或者,我们可以通过环境变量MPLBACKEND=Qt5Agg指定它。很可能,我们也可以通过修改捆绑的matplotlibrc文件或提供我们自己的文件,将Qt5Agg设置为matplotlibrc中的默认后端。

PS:不确定阻止QtAgg后端正常工作的核心问题是PyCharm、matplotlib还是PyQt。。。

相关内容

  • 没有找到相关文章