`
房价会降吗
  • 浏览: 62727 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics