通过matplotlib在Pycharm调试控制台中进行交互式绘图

10

我有一个Python脚本需要调试,我正在使用Pycharm社区版2016.3.2版本。

我希望能够在调试控制台中绘制一些图形(通过设置断点并启动调试器来激活),但问题在于图形根本没有显示出来。

要获取可重现我的问题的代码,请参阅官方 matplotlib 文档链接,特别是以下代码段:

import matplotlib.pyplot as plt
plt.ion()
plt.plot([1.6, 2.7])

我发现奇怪的是,如果我在pycharm内部打开一个新的python控制台,并执行此代码,则pycharm会弹出一个显示图表的新窗口,但是如果我将相同的代码粘贴到“调试”控制台中,则不会发生这种情况。

在这两种情况下,我都能在控制台中获得以下输出

enter image description here

我找到了一个可能相关的帖子here,但是坦白地说,我无法确定这两个问题是否归结为相同的问题。

1个回答

14
  • python 3.8.12matplotlib 3.4.3PyCharm 2021.2.3(专业版)下测试通过
  • 在PyCharm中创建一个纯Python项目
    • 文件 新建项目... 纯Python
    • 进入图像描述
    • 完成项目设置
  • 创建一个新的Python文件:
    • 进入图像描述
  • 在导入包之后,指定一个交互式后端
    • mpl.use('Qt5Agg')
    • mpl.use('TkAgg')
import matplotlib.pyplot as plt
import matplotlib as mpl
# mpl.use('Qt5Agg')  # interactive mode works with this, pick one
mpl.use('TkAgg')  # interactive mode works with this, pick one

# Pie chart, where the slices will be ordered and plotted counter-clockwise:
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0)

fig1, ax1 = plt.subplots()

ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)
ax1.axis('equal')

plt.show()

在此处输入图片描述

调试控制台

  • 脚本也适用于调试,但是绘图将显示后立即消失,因此需要添加额外的代码以防止调试器关闭绘图窗口。

在此处输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接