您好,当我设置新的 venv 并安装 matplotlib (3.9.0) 时,我发现 pycharm 控制台(PyCharm 2023.2.7 社区版)存在问题,我发现无法绘制图形。
当我输入以下内容时:
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.show()
图形窗口打开,但随后保持最小化形式,无法展开(当鼠标悬停在窗口上时,窗口旋转圆圈)。如果不使 python 崩溃,则无法最小化此窗口。 但是我可以从控制台 plt.close() 窗口。 当在 .py 脚本中导入和调用时,这不会影响 matplotlib
我认为将 matplotlib 降级为 <3.9.0 could recover figures in the pycharm console however I wondered if there is something that I am missing in pycharm when using matplotlib 3.9.0 or if this should be raised with pycharm?
感谢您的指点
这似乎是由于 PyCharm 和 Matplotlib 3.9 中更新的
BackendRegistry
之间的兼容性问题所致,请参阅 https://github.com/matplotlib/matplotlib/issues/28449#issuecomment-2191203048。
PyCharm 显然默认使用后端
"tkagg"
,并以某种方式依赖于 matplotlib 将其存储为 "TkAgg"
中的 rcParams
。然而,从 Matplotlib 3.9 开始,该值以提供的任何大小写形式存储。
解决方法是自行选择后端为
"TkAgg"
:
import matplotlib
import matplotlib.pyplot as plt
matplotlib.use("TkAgg")
plt.plot(range(10))
plt.show()