96818 发表于 2017-5-4 08:46:54

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 = ]
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。
页: [1]
查看完整版本: Python开发环境Wing IDE的matplotlib 2D绘图库代码调试技巧