打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python使用pyqtgraph库实现数据可视化之多条曲线绘制方法

引言

pyqtgraphPython平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于其在内部实现方式上,使用了高速计算的numpy信号处理库以及QtGraphicsView框架,因此它在大数据量的处理及快速显示方面有着天然的优势,非常适合于需要快速绘图更新、视频或实时交互性的操作场合,在数学、科学和工程领域都有着广泛的应用。

对于多条曲线的快速绘制方式,有两种方案可供选择,一种是将多条曲线合并显示在一幅绘图区域上,另一种方案是将多条曲线显示在不同的绘图区域上,对于这两种绘制方案,下面通过例子来演示在Python语言中使用pyqtgraph库编程实现的方法。

方案1:将多条曲线合并显示在一幅绘图区域

程序的运行效果如下图所示:

 

  

例子在图形的一幅绘图区域上显示了3条曲线,分别为正弦曲线、余弦曲线及sinc函数曲线。

主要实现代码如下:

 

  

代码主要部分说明如下:

1、13行,创建应用程序实例app

2、15-17行,创建一个图形显示窗口win,设置窗口属性,如窗口标题、窗口大小等

3、19-22行,使用numpy库产生3条曲线即正弦曲线、余弦曲线及sinc函数曲线的xy数据

4、24行,在win上添加一个绘图区域对象p,参数中设置了XYlabel及图形标题等

5、25-27行,在p上分别添加3条不同颜色的曲线

6、28-29行,设置绘图区域的网格及坐标轴范围属性

7、31行,使用app.exec_()函数运行实例,进入消息循环

方案2:将多条曲线显示在不同的绘图区域

程序的运行效果如下图所示:

 

  

对于上面的正弦曲线、余弦曲线及sinc函数曲线分别显示在了图形的3个绘图区域上。

主要实现代码如下:

 

  

代码主要部分说明如下:

1、13-22行,和上例完全相同

2、24-27行,在win上分别添加了3个绘图区域对象p1p2p3,其中,第26行,说明在绘图区域的下一行创建p3,第27行的参数“colspan=2”说明p3占的列宽为2

3、29-32行,在for循环中分别在3个绘图区域对象上绘制不同的曲线,并设置绘图区域的网格及坐标轴范围等属性

4、34行,使用app.exec_()函数运行实例,进入消息循环

备注

在第2种方案中创建绘图区域对象p时,也可以在参数中直接指定p处于的位置及行宽、列宽等信息,如将上面例子中第2627行合并写为如下代码也是等价的。

 

  

 

欢迎加关注,共同交流。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
09-选择适合你的Python可视化工具(续)
在GUI窗口中绘制一个茅台股票K线图
12个例子教你玩转python数据可视化(附配套资源)
推荐一款科研必备的Python数据可视化神器——PyQtGraph
「独家」Python数据可视化利器Matplotlib,50 干货分享
如何在论文中画出漂亮的插图? | 知乎精选
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服