使用python的array模块创建能够动态改变大小的数组,结合numpy中的frombuffer函数转换为numpy的数组,最后在pyqtgraph中逐点画波形图。

 1 # -*- coding: utf-8 -*-#
 2
 3 #-------------------------------------------------------------------------------
 4 # Name:         pyqtgraph逐点画波形图
 5 # Description:
 6 # Author:       lgk
 7 # Date:         2018/6/2
 8 #-------------------------------------------------------------------------------
 9
10 import pyqtgraph as pg
11 import numpy as np
12 import array
13
14 app = pg.mkQApp()
15
16 win = pg.GraphicsWindow()
17 win.setWindowTitle(u'pyqtgraph逐点画波形图')
18 win.resize(800, 500)
19
20 data = array.array('d') #可动态改变数组的大小,double型数组
21 historyLength = 200
22
23 p = win.addPlot()
24 p.showGrid(x=True, y=True)
25 p.setRange(xRange=[0,historyLength], yRange=[-1.2, 1.2], padding=0)
26 p.setLabel(axis='left', text='y / V')
27 p.setLabel(axis='bottom', text='x / point')
28 p.setTitle('y = sin(x)')
29
30 curve = p.plot()
31 idx = 0
32
33 def plotData():
34     global idx
35     tmp = np.sin(np.pi / 50 * idx)
36
37     if len(data)<historyLength:
38         data.append(tmp)
39     else:
40         data[:-1] = data[1:]
41         data[-1] = tmp
42         # curve.setPos(idx-historyLength, 0)
43         # p.enableAutoRange('x', True)
44
45     curve.setData(np.frombuffer(data, dtype=np.double))
46     # curve.setData(data) #也可以
47     idx += 1
48
49 timer = pg.QtCore.QTimer()
50 timer.timeout.connect(plotData)
51 timer.start(50)
52
53 app.exec_()

转载于:https://www.cnblogs.com/luke0011/p/9128943.html

pyqtgraph逐点画波形图例子相关推荐

  1. MATLAB|用循环描点画波形图

    % 调幅就是将低频信号vb(t)线性负荷到正弦波的幅度上, % 请画出如下调幅波的波形 % en(k) = [1+0.5*cos(Omg*t)] * cos(wc*t) F=1E3; fc=10E3; ...

  2. 静态网站生成器_什么是JAMStack?它与静态网站生成器有何区别?

    静态网站生成器 Two ideas, JAMStack and static website generators, are getting attention as a way to simplif ...

  3. 系统在此应用程序堆栈溢出_Web应用程序:在开始之前选择正确的技术堆栈

    系统在此应用程序堆栈溢出 You have a great online business idea along with investors and a team ready to get behi ...

  4. 多媒体艺术家jaime levy在网站甚至还没有存在之前就处于网页设计的最前沿

    By Claire Evans 克莱尔·埃文斯(Claire Evans) Jaime Levy's real name is not Jaime. She won't tell me what he ...

  5. python串口数据绘图_使用Python串口实时显示数据并绘图的例子

    使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:\Anaconda3\Sc ...

  6. python中texttable库显示实时数据_用Python串口实时显示数据并绘图pyqtgraph

    用Python串口实时显示数据并绘图 使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 &qu ...

  7. 用Python串口实时显示数据并绘图pyqtgraph(详细教程)

    用Python串口实时显示数据并绘图 使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 &qu ...

  8. python读取串口数据 绘图_使用Python串口实时显示数据并绘图的例子

    使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:Anaconda3Scri ...

  9. android 串口一直打开_实例 | 使用Python串口实时显示数据并绘图

    今天为大家分享一篇使用Python串口实时显示数据并绘图的例子,具有很好的参考价值,希望对大家有所帮助. 一.安装pyserial以及基本用法 使用pyserial进行串口传输,在cmd下输入命令pi ...

最新文章

  1. 网络营销专员浅析如何以低成本高获取实现网络营销?
  2. IIS设置404页面图文教程(选择URL还是文件 )
  3. adb 连接某个wifi_一加7 Pro全局强制开启90Hz刷新率的办法(附ADB文件下载)
  4. 架构师速成6.8-设计开发思路-领域驱动
  5. button的格式的问题
  6. Maven项目出现web.xml is missing and 《failOnMissingWebXml》is set to true,已解决
  7. 全向轮机器人左下轮运动学分析
  8. Java内存模型与共享变量可见性
  9. ldconfig为空时会清已有的链接?
  10. 凸函数优化问题的相关讨论
  11. win7系统可以禁止的服务器,win7旗舰版怎么禁用不必要的系统服务项
  12. Matlab版本svm工具箱,matlab libsvm工具箱
  13. 孪生支持向量机基本原理
  14. 9大代理服务器软件的比较与分析
  15. Station M2极客主机
  16. Mysql delete删除表数据之后,表空间没有释放的问题
  17. electron 介绍
  18. 迅为i.MX6ULL 开发板开机进度条修改文档
  19. mybatis学习日志之总结
  20. NMAP扫描基本操作

热门文章

  1. c语言expand函数,练习 3-3 编写函数expand(s1, s2) (C语言 + 详细注释)
  2. Qt 实现带阴影 无边框的QMessageBox
  3. 【服务器数据恢复】XFS文件系统分区丢失怎么恢复数据?
  4. 【图像配准】基于灰度的模板匹配算法(三):划分强度一致法(PIU)
  5. python--numpy模块、spicy模块、 matplotlib模块
  6. 植物神经紊乱的影响,你知道有哪些吗?
  7. 小甲鱼python小游戏“飞机大战”源码素材
  8. 专访新致云田奎:行业云服务的差异化发展 初创公司上云迫在眉睫
  9. 【C语言】对5个国家的名称进行排序详细解析
  10. js-三阶贝塞尔曲线计算公式