pyqt graphicsview,pyqt5 绘图
目录
1.PyQtgraph是什么?
2.2.pyqtgraph的核心功能包括:
3.你为什么选择PyQtgraph
4.命名规格
5.效果评估
1.PyQtgraph是什么?
PyQtGraph是Python的图形和用户界面库,提供了工程和科学应用中常用的函数。其主要目标是:
1)提供用于显示数据(绘图、视频等)的快速交互式图形。),以及
2)提供有助于快速应用开发的工具(例如Qt Designer中使用的属性树)。
PyQtGraph大量利用Qt GUI平台(通过PyQt或PySide)获取高性能图形,并使用numpy进行大量的数字运算。特别是pyqtgraph使用了Qt的GraphicsView框架,这是一个强大的图形系统。我们将优化和简化的原语引入这个框架,以最小的努力实现数据可视化。
2.2.pyqtgraph的核心功能包括:基本的数据可视化原语:图像、折线图、散点图。
足以实时更新视频/绘图数据的速度
交互式缩放/平移、平均、FFT、SVG/PNG导出
用于标记/选择绘图区域的小部件
用于标记/选择图像的感兴趣区域并自动切片多维图像数据的小部件
构建自定义图像感兴趣区域小部件的框架。
取代/补充Q t的对接系统的对接系统,允许更复杂(和可预测的)的对接安排
ParameterTree小部件,用于动态界面的快速原型制作(类似于Qt Designer和许多其他应用程序中的属性树)
它可以在Linux、Windows和OS X上运行。
3.为什么选择PyQtgraph matplotlib:对于画图来说,PyQtgraph不如matplotlib完整/成熟,但是运行速度要快得多。Matplotlib更喜欢制作出版质量的图形,而pyqtgraph是为数据采集和分析应用程序设计的。Matplotlib对于matlab程序员来说更直观;Pyqtgraph对于python/qt程序员来说更直观。Matplotlib(据我所知)并没有包括pyqtgraph的很多功能,比如图像交互、体绘制、参数树、流程图等。
Pyqwt5:它和pyqtgraph差不多快,但是在绘图功能方面没有那么完整。pyqtgraph中的图像处理更加完整(同样,qwt中没有ROI小部件)。另外,pyqtgraph是纯python编写的,所以比pyqwt可移植性更强,开发上往往落后于pyqt(我一开始用的是pyqwt,但是在我的项目中发现依赖它作为依赖太麻烦了)。和matplotlib一样,pyqwt(据我所知)也不包含pyqtgraph的很多功能,比如图像交互、体绘制、参数树、流程图等。
如果您喜欢python,如果您对GUI的速度有要求,如果正在做科学计算相关的图形应用、上位机,那么不用怀疑,用pyqtgraph会让您爽!
4.命名约定实际上,pyqtgraph中的每个类都是Qt提供的基类的扩展。阅读文档时,请记住Qt的所有类都以字母“Q”开头,而pyqtgraph的类则不是。当通读任何类的方法时,查看使用了哪些Qt基类并检查Qt文档通常是有帮助的。
大多数类别的Qt定义了信号,这些信号很难与常规方法区分开来。几乎所有pyqtgraph明确定义的信号都是以“sig”开头,表示这些信号不是在Qt级别定义的。
在大多数情况下,以“Widget”结尾的类是QWidget的子类,因此它们可以在Qt窗口中用作GUI元素。以“Item”结尾的类是QGraphicsItem的子类,只能在QGraphicsView实例中显示(如GraphicsLayoutWidget或PlotWidget)。