用Matplotlib做一个交互式的德劳尼三角生成器

2013-12-30 by 煎挠橙

正在看的一篇文献里用到了德劳尼三角形的算法来界定包含了一些点的空间,搜索了一下,这里有一个在线的小程序,让你可以通过鼠标在演示界面上点击的形式确定点的位置并动态的生成德劳尼三角形。

唯一的问题在于这个小程序是java写的,而我不懂java,遂用python自己写一个,也方便h后面给同事们展示。

Matplotlib的Event

其实这样的交互式程序应该用GUI包来完成,为此我甚至把Tkinter的文档都翻了一遍,偶然的机会我注意到常被用来画图的matplotlib居然也可以实现交互功能,简直喜出望外。

官方的文档请参考这里,除了必要的介绍还有几个例子供学习。显然matplotlib提供的交互功能与真正的GUI包比起来孱弱很多,不过能在作图的过程中加上一两个交互的特性确实是锦上添花的事情。

链接Event

matplotlib里面event的用法和GUI包的设定大同小异,都需要声明把特定的事件名称和一个函数关联起来:

fig.canvas.mpl_connect('button_press_event',click)

这里fig是一个 ...

read more