matplotlib不显示图片

设备:VMware Ubuntu22.04 Pycharm2023.01专业版
问题:
Pycharm matplotlib选择python console/run方式跑plt不显示图片。试一个简单代码时,选择run命令sciview中可以显示图,在python console中不显示。
输出:通常只输出以下语句
<Figure size 600x600 with 1 Axes>
尝试过的方法:
1、更改setting设置,没用,因为本身在sciview窗口中就不显示
2、后面加plt.show(),没效果
3、加一行matplotlib.use('Agg'),没效果
但是如果直接选择plt.savefig,图片是可以正常保存下来的。(但是多张图只能保存一张TT)

这个问题可能与PyCharm和matplotlib的默认行为有关。在PyCharm中使用Python Console时,默认情况下,matplotlib会使用一个非交互式的后端(例如Agg),这会导致图像不会显示在PyCharm的控制台中。

要解决这个问题,你可以尝试以下方法:

  • 在代码的开头添加以下代码,使用一个交互式后端(例如Qt5Agg):

import matplotlib
matplotlib.use('Qt5Agg')

这将告诉matplotlib使用Qt5Agg后端,它支持交互式显示图像。

  • 在代码中使用plt.show()显示图像,并确保在调用plt.show()之前绘制了图像:

import matplotlib.pyplot as plt

# 绘制图像
plt.plot([1, 2, 3, 4])
plt.ylabel('Some numbers')

# 显示图像
plt.show()

  • 如果你想在PyCharm的SciView窗口中显示图像,而不是在控制台中显示,可以使用plt.show(block=False)。这将在SciView窗口中显示图像,并允许你在显示图像的同时继续执行其他代码。

import matplotlib.pyplot as plt

# 绘制图像
plt.plot([1, 2, 3, 4])
plt.ylabel('Some numbers')

# 在SciView窗口中显示图像
plt.show(block=False)

# 继续执行其他代码

这些方法中的一种应该可以解决在PyCharm中使用Python Console时matplotlib图像不显示的问题。如果仍然遇到问题,请检查PyCharm和matplotlib的版本兼容性,并确保相关的软件包已正确安装。