簡體   English   中英

通過 matplotlib 在 Pycharm 調試控制台中進行交互式繪圖

[英]Interactive plotting in Pycharm debug console through matplotlib

我有一個正在嘗試調試的 python 腳本,我正在使用 Pycharm 社區版 2016.3.2 版。

我想做的是在調試控制台中繪制一些圖(我通過設置斷點並啟動調試器來激活它),但問題是該圖根本不顯示。

這里的官方matplotlib文檔中提供了一些代碼來獲得我的問題的可重現示例,特別是這段代碼:

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

我覺得奇怪的是,如果我從 pycharm 內部打開一個新的 python 控制台,當執行此代碼時,pycharm 會彈出一個顯示繪圖的新窗口,但如果我將相同的代碼粘貼到“調試”控制台中,則不會發生這種情況。

在這兩種情況下,我都在控制台中得到以下輸出

在此處輸入圖片說明

我在這里找到了一個可能相關的帖子,但坦率地說,我不知道這兩個問題是否歸結為同一個問題。

  • python 3.8.12matplotlib 3.4.3PyCharm 2021.2.3 (Professional Edition)
  • 在 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()

在此處輸入圖片說明

調試控制台

  • 該腳本也適用於調試,但繪圖顯示,然后在調試器關閉時消失,因此包含額外的行以防止調試器關閉繪圖窗口。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM