在 Matplotlib 3.9.0 的 pycharm 控制台中使用 matplotlib.pyplot 时出现问题

问题描述 投票:0回答:1

您好,当我设置新的 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?

感谢您的指点

windows matplotlib pycharm crash
1个回答
0
投票

这似乎是由于 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()
© www.soinside.com 2019 - 2024. All rights reserved.