您的位置 首页 > 数码极客

python如何画出两个曲线不在一个图

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

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

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

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

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

主要实现代码如下:

代码主要部分说明如下:

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

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

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

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

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

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

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

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

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

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

主要实现代码如下:

代码主要部分说明如下:

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

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

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

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

备注

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

欢迎加关注,共同交流。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“python如何画出两个曲线不在一个图”边界阅读