回答问题

我有一个我正在尝试调试的 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.12matplotlib 3.4.3PyCharm 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()

在此处输入图像描述

调试控制台

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

在此处输入图像描述

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐