Python開發環境Wing IDE的matplotlib 2D繪圖庫代碼調試技巧

Wing IDE是一個集成開發環境,可用於加快matplotlib2D圖形庫的Python代碼的編寫和調試進程。Wing IDE提供自動完成、調用提示、調試器,以及許多其他功能,可幫助用戶編寫、瀏覽和了解Python代碼。

 

工作於Python Shell

matplotlib的用戶經常會交互式地工作於Python命令行shell。 例如:

 
from pylab import plot,show,close

x = range(10)

plot(x)

show()

y = [2, 8, 3, 9, 4]

plot(y)

close()
 

在某些環境中,直到關閉繪圖窗口,上面show()調用都會阻塞。默認情況下Wing IDE將會修改matplotlib事件循環的方式,當被輸入到集成的Python Shell中時,show()調用將不會阻塞,繪圖窗口將會一直更新作爲額外的命令類型。這樣可以更容易的交互測試新代碼和所繪製的圖形。

編輯器代碼可以使用Source菜單中的Python Shell項目Evaluate File在Python Shell執行,或者是使用編輯器Python Shell項目Evaluate Selection在Python Shell執行。默認情況下,Python Shell會在評估整個文件之前重啓;這可以在Python Shell的選項菜單中禁用。

這個特殊的事件循環支持已經在TkAgg、GTKAgg、WXAgg(wxPython 2.5 +)和Qt4Agg後端中進行了實施,暫時不支持其它的後端。

解決問題

如果在Python Shell或Debug Probe中輸入show()模塊,如果plots無法更新,或如果遇到matplotlib其他事件循環工作問題,可以:

(1)     在簽發其它命令之前,嘗試以下方式切換到另一個後端:

import matplotlib

matplotlib.use('TkAgg')

(2)     嘗試在Extensions選項卡中的Project Properties完全禁用matplotlib支持,然後從選項菜單重新啓動Python Shell並重啓調試過程。這可以防止在Python Shell和Debug Probe中交互使用matplotlib。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章