通过 matplotlib 在 Pycharm 调试控制台中进行交互式绘图
·
回答问题
我有一个我正在尝试调试的 python 脚本,并且我正在使用 Pycharm 社区版版本 2016.3.2。
我想做的是在调试控制台中制作一些图(我通过设置断点并启动调试器来激活它),但问题是图根本不显示。
官方matplotlib文档在这里提供了一些代码来获得我的问题的可重现示例,特别是这段代码:
import matplotlib.pyplot as plt
plt.ion()
plt.plot([1.6, 2.7])
我觉得奇怪的是,如果我从 pycharm 内部打开一个新的 python 控制台,当执行此代码时,pycharm 会弹出一个显示绘图的新窗口,但如果我将相同的代码粘贴到“调试”控制台中,则不会发生这种情况。
在这两种情况下,我都会在控制台中得到以下输出

我在这里找到了一个可能相关的帖子,但坦率地说,我不知道这两个问题是否会归结为同一个问题。
Answers
-
在
python 3.8.12、matplotlib 3.4.3、PyCharm 2021.2.3 (Professional Edition)中测试 -
在 PyCharm 中创建一个纯 Python 项目
-
归档新项目...纯 Python
-

-
完成项目设置
-
新建一个python文件:
-

-
包导入后,指定交互后端
-
zoz100027
*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()

调试控制台
- 该脚本也适用于调试,但是当调试器关闭时,绘图显示然后消失,因此包含了一个额外的行以防止调试器关闭绘图窗口。

更多推荐

所有评论(0)