Qt中滑动实时二维绘图的实现
我正在从管道内移动的超声波设备获取流式测量数据,我想对这些测量进行滑动/实时绘图。Y轴代表管道周围360度的梯度,X轴代表长度方向的位置,单位为毫米。换句话说,当新数据到达时,X轴将以与扫描仪相同的速率更新和移动(约40Hz)。每个(x,y)坐标处的值表示一个测量值,该测量值应映射到colormap中的颜色 我不熟悉图形(系统和后端人员),我一直在研究QImage、QWT和QCustomPlot,但它们似乎都不能直接解决问题,而不需要手动构建2D矩阵,在QImage中绘制,更新和移动每个数据点的坐标,并重新绘制以移动/滚动它。QCustomplot在图形上做得非常好,但我不知道如何将其应用于颜色贴图Qt中滑动实时二维绘图的实现,qt,plot,qimage,qwt,qcustomplot,Qt,Plot,Qimage,Qwt,Qcustomplot,我正在从管道内移动的超声波设备获取流式测量数据,我想对这些测量进行滑动/实时绘图。Y轴代表管道周围360度的梯度,X轴代表长度方向的位置,单位为毫米。换句话说,当新数据到达时,X轴将以与扫描仪相同的速率更新和移动(约40Hz)。每个(x,y)坐标处的值表示一个测量值,该测量值应映射到colormap中的颜色 我不熟悉图形(系统和后端人员),我一直在研究QImage、QWT和QCustomPlot,但它们似乎都不能直接解决问题,而不需要手动构建2D矩阵,在QImage中绘制,更新和移动每个数据点的
对于为这种绘图提供原语(或小部件)的框架或包,任何提示都是非常受欢迎的。这可以通过Qwt完成。诀窍是在序列数据周围创建一个包装器,每次添加数据点时都会触发replot。如果你想变得更有趣,你可以添加一个定时器,从序列中删除旧数据并触发另一个replot
请参阅Qwt源代码附带的CPU、示波器和实时示例。他们实施了这个把戏。谢谢!我实际上发现Qwt很难使用,但我已经实现了使用基本的QPainter来绘制Qpixmap矩阵,然后在添加新项目时移动,并在paintEvents上重新绘制。