Python图形包

Python在EPICS控制系统软件开发中的比重越来越大,不仅IOC的开发,而且GUI的开发,Python都可以胜任。本文介绍几个流行的Python图形包。

(1)PyQtGraph

PyQtGraph是基于PyQt4/PySide和numpy构建的纯Python图形和GUI库。它旨在用于数学/科学/工程应用。尽管完全用python编写,但是由于numpy大量使用数字处理和Qt的GraphicsView框架进行快速显示,该库非常快。PyQtGraph是根据MIT开源许可证发行的。

(2)Matplotlib

Matplotlib或多或少是python的事实上的标准绘图库。如果您要开始一个新项目,并且不需要pyqtgraph专门提供的任何功能,则应从matplotlib开始。它更加成熟,拥有庞大的用户社区,并且可以生成非常好的出版物质量的图形。

(3)VisPy

VisPy是一个新的基于OpenGL的2D/ 3D可视化库,是PyQtGraph,VisVis,Galry和Glumpy的作者之间合作开发的。它目前处于早期开发阶段,其范围比PyQtGraph窄-它将专注于可视化,而无需PyQtGraph提供的GUI工具包功能。从长远来看,VisPy可能取代Qt作为2D图形的渲染引擎,并完全取代pyqtgraph.opengl 3D系统。

(4)PyQwt

PyQwt具有非常好的一组功能,并且足够快以进行实时工作。它的主要缺点是它目前尚未维护,并且可能难以在各种平台上工作。希望将来可以找到一个新的维护者,但是在那之前最好避免使用PyQwt(原始的PyQwt维护者目前建议使用pyqtgraph;请查看其邮件列表以获取更新)。像matplotlib一样,PyQwt缺少pyqtgraph的一些更高级的功能。

(5) Chaco

Chaco是一个非常有趣的项目-精美的图形,良好的速度并积极开发。但是,与PyQwt一样,Chaco可能很难在各种平台上安装,并且缺少pyqtgraph的一些更高级的功能(尽管pyqtgraph当然也缺少Chaco的许多功能)。

(6) GuiQwt

GuiQwt是一个有趣的项目,具有许多与pyqtgraph相似的高级功能。它目前基于PyQwt,因此存在一些缺点,尽管将来似乎有计划对此进行更改。

Python GUI

发表评论