pyqtgraph 实现几个功能
文章目录
- 实现功能
- - 使用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 实现几个功能相关推荐
- python画xy轴_Python+pyqtgraph数据可视化:自定义坐标轴信息
引言 pyqtgraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架 ...
- python中数据用折线图表示_使用PyQtGraph进行Python数据可视化:绘制精美折线图(以 上证指数走势为例)...
在前两篇文章中,我们介绍了: 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGraph进行Python数据可视化. 本篇,我们介绍使用Py ...
- python绘制漂亮的线_使用PyQtGraph进行Python数据可视化:绘制精美线图(以上证指数走势为例)...
在上两篇文章中,我们介绍了: 本篇文章将介绍使用PyQtGraph绘制一个精美折线图, 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGr ...
- pyqtGraph绘图
官网:http://www.pyqtgraph.org/ 官网文档:http://www.pyqtgraph.org/documentation/ =============绘图=========== ...
- pyqtgraph入门简介,pyqtgraph和matplotlib、pyqwt5的比较
一.pyqtgraph和matplotlib.pyqwt5的比较 使用python做数据分析时,经常会根据数据出图更直观点,目前绘图最常用的几个库:pyqtgraph.Matplotlib.pyqwt ...
- GUI编程—欢迎来到PyQtGraph-中文版(上)!
**欢迎访问我自己的博客网站:[www.fengwanqing.xin](http://www.fengwanqing.xin)** 最近在学习GUI编程,想要寻找一个画图非常漂亮的库,偶然间发现了P ...
- 【Python_PyQtGraph 学习笔记(四)】基于PyQtGraph设置槽函数,实现保存图片到本地的功能
基于PyQtGraph设置槽函数,实现保存图片到本地的功能 前言 基于PyQtGraph实现绘图功能后,想要将绘制好的图片保存到本地,PyQtGraph是支持在可视化窗口中右键保存的(Exportin ...
- python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...
01为什么使用PyQtGraph库 我们知道,在Python中,已经有了很多可供选择的数据可视化库. 比如最经典.使用人数最多的matplotlib库,其有着十多年的历史积累,可生成高质量出版级别的图 ...
- python绘制k线图的步骤_Python使用PyQtGraph绘制股票行情K线图
PyQtGraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于其在内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架, ...
最新文章
- linux账号管理命令,linux账号管理及相关命令和操作
- 使用poi读取公式错误,xlsx和xls在poi3.8后都支持公式读取,读取后有计算错误公式,解决方法
- 2020 年德国 IT 薪酬大揭秘!
- 深度解读DynamIQ架构cache的替换策略
- 外包物料成本核算时的供应商确定
- Bzoj3628: [JLOI2014]天天酷跑
- php里面电话验证码,PHP的中问验证码
- oracle利用游标添加数据库,Oracle数据库游标的类型及使用实例全解
- 管理后台--5,子分类
- 常见问题_朗动常见问题
- SURF算法python实现
- excel复选框_在Excel公式中使用复选框结果
- 如何快速获取股票行情接口api的实时行情数据?
- Bitmovin首席执行官Stefan:开发者正在构建视频产品的未来
- 安卓P 自动调节亮度打开的状态下,手动拖动亮度条后,自动调节亮度失效
- ionic:引入图标
- LigerUI视频教程_基于LigerUI前端技术实现的管理平台
- alias别名设置及删除
- 对项目经理而言,PMP认证是否对职业生涯的发展有帮助?
- 原生H5实现网易云轮播图
热门文章
- Springboot毕设项目社区生活缴费系统ymhd9java+VUE+Mybatis+Maven+Mysql+sprnig)
- Tacacs-各厂商交换机配置
- Revit 模型一键输出 3D Tiles (for Cesium) 和 glTF/glb
- java中使用模板设计模式
- 业务安全情报第16期 | 大促8成优惠券竟被“羊毛党”抢走!?
- MyBatis多表关联查询
- fiddler实现手机抓包及手机安装证书报错“无法安装该证书 因为无法读取该证书文件”解决方法
- 整数线性规划(分支定界法、割平面法)
- 开工了,给大家送一个新款iPad!
- Windows系统telnet命令怎么打开?Telnet命令详解