PYQT5+ 2d绘图实时刷新(坐标系跟着曲线一起移动,且可以查看绘制历史)的解决方法总结荣书记嘎嘎乱杀
PYQT5中使用绘制实时2d曲线图时,希望坐标轴随着曲线一起移动,并可以查看历史绘制的曲线,官方demo有移动坐标轴的案例,但是不可拖动查看历史图像 。
效果图
一、原理
中有一个用于定位坐标长度的函数
tdplot.setXRange(0 , 200)
如这个函数 , 我设置了x轴为0-200.
文章插图
那么要想实时跟随绘制的曲线,我的解决思路就是实时刷新这个函数到自己想要的数据对应的坐标轴上 。
二、代码思路 1.引入变量i来记录每一次更新
每当有新的数据需要绘制时,就令 i 自增1 , 以此来达到记录数据个数的目的,当然也可以使用len(x)来运算得到 。
2.固定坐标轴大?。⑹凳备?
设置一个需要的坐标长度
我们肯定需要一个固定现实的坐标轴,那么只要使用上面提到的函数即可固定到坐标轴 。
代码如下:
if i > xrange:tdplot.setXRange(self.i - xrange, self.i)
文章插图
if语句用于判断从0开始绘制的图像是否超过我们需要的坐标轴长度(图像是否到达最左边),如果超过 , 则会实时更新坐标轴
3缺点
【PYQT5+pyqtgraph 2d绘图实时刷新(坐标系跟着曲线一起移动】当然这个方案不会十分完美 , 缺点就是在绘制时无法移动坐标轴,因为它每次数据更新都会回到当前坐标轴上,我的解决办法是:绘制时失能鼠标控制 , 当停止绘制时恢复鼠标控制 。
代码如下:
tdplot.setMouseEnabled(x=True, y=False) # 启用x轴控制,失能y轴控制tdplot.setMouseEnabled(x=False, y=False) # 鼠标xy都不能划动
总结
这个方案并不完美 , 也许您有需要在绘图过程中缩放的需求 , 我的建议是新增两个按钮来实现缩放功能,所使用的函数还是坐标设置函数,在其中添加一个比例变量即可 。
本人技术有限,此方案并非完美,仅作为自己技术参考
荣书记嘎嘎乱杀
- 实时转账 实时转账24小时内可以追回吗
- 实时对讲怎么取消不了声音 实时对讲怎么取消不了
- 热血三国志全员集合主要角色立绘图鉴一览 角色立绘怎么样
- 怎样把相片变成手绘图片 怎么把照片变成手绘肖像
- 微信朋友圈位置怎么改到别的城市 微信实时位置修改app
- 如何查看实时公交 如何查看实时公交在哪里
- cad捕捉怎么是彩色的 cad绘图捕捉怎么设置
- 三维家阿里融资 三维家X阿里云X英伟达
- 实时话费是要扣的钱吗 实时话费是要扣的钱吗苹果
- 2023全国交通天气最新预报:12月26日高速路况最新实时查询