文章目录

  • 实现功能
    • - 使用pyqtgraph实现设定标题
    • - 设定数据只更新最新的1000个
    • - 一个图中绘制两条曲线
  • 准备工作
    • 采用嵌入到pyqt5当中的方案
    • Qtimer 的方案:
  • 代码
    • 设定标题
    • 设定两条曲线
    • 仅更新最新的1000个
    • 更新的代码:
    • 实现的结果:
  • 设定曲线的点的样式
    • 代码
    • 测试结果

实现功能

- 使用pyqtgraph实现设定标题

- 设定数据只更新最新的1000个

- 一个图中绘制两条曲线

准备工作

采用嵌入到pyqt5当中的方案

所以我们得到绘图的接口是self.graphicsView

        self.p= self.graphicsViewself.p2=self.graphicsView_2self.p3 = self.graphicsView_3

之后我们对绘图的接口进行一定的配置:

  self.p.setDownsampling(mode='subsample')self.p2.setDownsampling(mode='subsample')self.p.setClipToView(True)self.p2.setClipToView(True)# self.p3.setClipToView(True)self.p2.setLabel("left","value",units='V')self.p2.setLabel("bottom","Timestamp",units='us')self.p2.setTitle('hello title')# self.p3.setLabel("left","valuess",units='us')# self.p3.setLabel("bottom","Timestamp",units='us')# self.p.setRange(xRange=[-100, 0])# self.p.setLimits(xMax=0)self.curve = self.p.plot()self.curve2 = self.p2.plot(pen=(0,255,255))self.curve2sub= self.p2.plot(pen=(255,0,0))

Qtimer 的方案:

https://blog.csdn.net/weixin_42066185/article/details/81569869?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159196182719724835839288%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=159196182719724835839288&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v2~rank_blog_default-1-81569869.pc_v2_rank_blog_default&utm_term=Qtimer

代码

使用qttimer实现绘图更新。timeout后执行下面的函数

设定标题

        self.p2.setTitle('hello title')

设定两条曲线

        self.curve2 = self.p2.plot(pen=(0,255,255))self.curve2sub= self.p2.plot(pen=(255,0,0))

仅更新最新的1000个

datatmp1=self.data3[self.ptr3-1000:self.ptr3-1] #

更新的代码:

  def update(self):# global data3, ptr3, ptrtmp# data3[ptr3] = np.random.normal()print('we are in here')self.data3[self.ptr3] = self.triy[self.ptrtmp]# self.p3.clear()datatmp1=self.data3[self.ptr3-1000:self.ptr3-1] # 显示最新的10000个数据print(type(self.data3))self.ptrtmp += 1if self.ptrtmp == 99:self.ptrtmp = 0self.ptr3 += 1if self.ptr3 >= self.data3.shape[0]:tmp = self.data3self.data3 = np.empty(self.data3.shape[0] * 2)self.data3[:tmp.shape[0]] = tmpself.curve.setData(datatmp1)# self.p.setRange(xRange=[self.ptr3-50, self.ptr3+50])# self.curve.setPos(self.ptr3-1000,0)self.curve2.setData(self.data3[:self.ptr3])self.curve2sub.setData(self.data3[:self.ptr3]+1)# self.scatter.setData(y=self.data3[:self.ptr3],)print('before')print('size data3',)

实现的结果:

设定曲线的点的样式

代码

          self.curve = self.p.plot(sysbol='t',symbolSize=7)self.curve2 = self.p2.plot(pen=(0,255,255))self.curve2sub= self.p2.plot(pen=(255,0,0))

测试结果

pyqtgraph 实现几个功能相关推荐

  1. python画xy轴_Python+pyqtgraph数据可视化:自定义坐标轴信息

    引言 pyqtgraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架 ...

  2. python中数据用折线图表示_使用PyQtGraph进行Python数据可视化:绘制精美折线图(以 上证指数走势为例)...

    在前两篇文章中,我们介绍了: 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGraph进行Python数据可视化. 本篇,我们介绍使用Py ...

  3. python绘制漂亮的线_使用PyQtGraph进行Python数据可视化:绘制精美线图(以上证指数走势为例)...

    在上两篇文章中,我们介绍了: 本篇文章将介绍使用PyQtGraph绘制一个精美折线图, 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGr ...

  4. pyqtGraph绘图

    官网:http://www.pyqtgraph.org/ 官网文档:http://www.pyqtgraph.org/documentation/ =============绘图=========== ...

  5. pyqtgraph入门简介,pyqtgraph和matplotlib、pyqwt5的比较

    一.pyqtgraph和matplotlib.pyqwt5的比较 使用python做数据分析时,经常会根据数据出图更直观点,目前绘图最常用的几个库:pyqtgraph.Matplotlib.pyqwt ...

  6. GUI编程—欢迎来到PyQtGraph-中文版(上)!

    **欢迎访问我自己的博客网站:[www.fengwanqing.xin](http://www.fengwanqing.xin)** 最近在学习GUI编程,想要寻找一个画图非常漂亮的库,偶然间发现了P ...

  7. 【Python_PyQtGraph 学习笔记(四)】基于PyQtGraph设置槽函数,实现保存图片到本地的功能

    基于PyQtGraph设置槽函数,实现保存图片到本地的功能 前言 基于PyQtGraph实现绘图功能后,想要将绘制好的图片保存到本地,PyQtGraph是支持在可视化窗口中右键保存的(Exportin ...

  8. python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...

    01为什么使用PyQtGraph库 我们知道,在Python中,已经有了很多可供选择的数据可视化库. 比如最经典.使用人数最多的matplotlib库,其有着十多年的历史积累,可生成高质量出版级别的图 ...

  9. python绘制k线图的步骤_Python使用PyQtGraph绘制股票行情K线图

    PyQtGraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于其在内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架, ...

最新文章

  1. linux账号管理命令,linux账号管理及相关命令和操作
  2. 使用poi读取公式错误,xlsx和xls在poi3.8后都支持公式读取,读取后有计算错误公式,解决方法
  3. 2020 年德国 IT 薪酬大揭秘!
  4. 深度解读DynamIQ架构cache的替换策略
  5. 外包物料成本核算时的供应商确定
  6. Bzoj3628: [JLOI2014]天天酷跑
  7. php里面电话验证码,PHP的中问验证码
  8. oracle利用游标添加数据库,Oracle数据库游标的类型及使用实例全解
  9. 管理后台--5,子分类
  10. 常见问题_朗动常见问题
  11. SURF算法python实现
  12. excel复选框_在Excel公式中使用复选框结果
  13. 如何快速获取股票行情接口api的实时行情数据?
  14. Bitmovin首席执行官Stefan:开发者正在构建视频产品的未来
  15. 安卓P 自动调节亮度打开的状态下,手动拖动亮度条后,自动调节亮度失效
  16. ionic:引入图标
  17. LigerUI视频教程_基于LigerUI前端技术实现的管理平台
  18. alias别名设置及删除
  19. 对项目经理而言,PMP认证是否对职业生涯的发展有帮助?
  20. 原生H5实现网易云轮播图

热门文章

  1. Springboot毕设项目社区生活缴费系统ymhd9java+VUE+Mybatis+Maven+Mysql+sprnig)
  2. Tacacs-各厂商交换机配置
  3. Revit 模型一键输出 3D Tiles (for Cesium) 和 glTF/glb
  4. java中使用模板设计模式
  5. 业务安全情报第16期 | 大促8成优惠券竟被“羊毛党”抢走!?
  6. MyBatis多表关联查询
  7. fiddler实现手机抓包及手机安装证书报错“无法安装该证书 因为无法读取该证书文件”解决方法
  8. 整数线性规划(分支定界法、割平面法)
  9. 开工了,给大家送一个新款iPad!
  10. Windows系统telnet命令怎么打开?Telnet命令详解