因为项目需要用qt实现瀑布图效果,参考过很多博主的经验,效果图下图
来源
QCustomPlot之瀑布图(十五)_梁如风的博客-CSDN博客_qcustomplot 瀑布图
第一种类型的瀑布图实现了,大小固定,只是每个cell上的数据不一样,所以思路如该博主所述,每次更新cell数据即可。
第二种类型的瀑布图更符合我的项目需求,但是一直没有找到合适的实现方式。
来源利用QCustomePlot绘制热力图,瀑布图,频谱色图等_尘埃飞舞的博客-CSDN博客_qcustomplot频谱图
深入研究博主的思路发现,这种也不是我想要的瀑布图,因为显示范围依旧是固定的,只是不断新增数据,看起来像是瀑布效果
而实际我需要的是下面的效果,随着新数据到来,不断的对原图进行填充,超出一定显示范围后进行滚动
下面来说一下实现思路
- 创建QCPColorMap对象,绑定到对应的QCustomplot对象上
- 设置QCustomplot对象的显示显示范围和显示长度
- 给QCPColorMap对象新增数据,设置自适应坐标
- 重绘QCustomplot对象
- 重复2-4步骤
实现代码如下