![0155fc68b985fc3378f59aafdf85d35b.png](https://i-blog.csdnimg.cn/blog_migrate/55d075bc62ca135b712eb8ccf8c602cf.jpeg)
提到 GUI 绘图,大家可能第一反应是 OpenGL 和 Matplotlib,但其实基于 Qt 平台还有个功能强大的 pyqtgraph 绘图库,不仅支持丰富的图形种类,还能实时更新绘图数据并进行交互式操作。
不同于网上其他文章或代码讲解,今天我们集中只关注实时绘制数据功能的实现。为了更精准学习该 pyqtgraph 模块功能,我们将参考官方给出的实例来边学边练。
1. pyqtgraph 简介
1.1 pyqtgraph 特点
关于 pyqtgraph 与 Matplotlib 的对比,大致要点如下:
- pyqtgraph 在画图方面不如 Matplotlib 功能完整和成熟,但运行更快
- Matplotlib 旨在绘制高质量图像,pyqtgraph 则主要面向数据抓取和数据分析的应用
- 相比 Matplotlib,pyqtgraph 对 python 和 qt 编程更亲和
- pyqtgraph 具备更好的图像交互、3D展示等
1.2 pyqtgraph 安装
一般配合 PyQt5 使用,这些都要预先安装好,我们这里只提 pyqtgraph 相关:
pip install pyqtgraph
1.3 pyqtgraph 实例全集
官方专门给出了一个实例集合,包含了展示与源码,非常方便学习,通过以下代码来运行:
import pyqtgraph.examples
pyqtgraph.examples.run()
运行后,会出现如下 GUI 界面
![ef1121c7f65e6bfabe4dc323979be817.png](https://i-blog.csdnimg.cn/blog_migrate/52dac64ab67b6d6aeb33056e34361710.jpeg)
今天我们主要关注实时绘制数据,找到左侧目录中的 "Scrolling plots",单击右侧可以看到源码
![b47a4cf999b06341957dd275577c323a.png](https://i-blog.csdnimg.cn/blog_migrate/30dbfc60c1fadc5ba5e2eb05e753b1be.jpeg)
双击或者点击下方的 "Run Example" 便可展示运行效果: