QCustomplot怎么实现对大数据量的自适应采样显示不卡顿

我在之前使用QCustomplot时候,当时需要特别大的数据量的显示,结果图像显示的特别卡顿,CPU占用率也特别高,然后当时在解决时候是自己写了采样抽取数据的函数,最后解决的。
然后这回在阅读手册时候突然发现QCustomplot提供了一个自适应采样的函数:
QCustomplot怎么实现对大数据量的自适应采样显示不卡顿_第1张图片以下为函数使用的翻译:
设置在绘制此图时是否应使用自适应采样。 QCustomPlot的自适应采样技术可以极大地提高点数较多(例如10,000以上)的图的重绘性能,而无需显着更改图的外观。
默认情况下,启用自适应采样。即使启用,QCustomPlot也会决定是否应在每幅图的基础上实际使用自适应采样。因此,启用自适应采样在几乎所有情况下都没有缺点。

带有和不带有自适应采样的500,000点线图
可以看出,线图不会因自适应采样而导致视觉下降。离群值以及数据集的整体形状都可以可靠地复制。重绘时间大大减少。这使QCustomPlot可以实时显示大量数据。

带有和不带有自适应采样的100,000点散点图
将高密度散点图与自适应采样结合使用时,必须小心。自适应采样算法比散点图更仔细地处理散点图,这仍然可以显着减少重复打印时间,但不如折线图那么多。这是因为散点图固有地需要保留更多数据点,以便仍然类似于原始的非自适应采样图。如上所示,结果仍然不完全相同,因为外部数据点发生了合并。实际上这是有意的,因此数据云的边界对于查看者保持可见。条带显示的强度取决于点密度,即图中的点数。
因此,对于具有散点图的某些情况,可能需要手动关闭自适应采样。例如,将图保存到磁盘时。这可以通过在发出QCustomPlot :: savePng之类的命令之前将enabled设置为false,然后再将enabled设置回true来实现。

你可能感兴趣的:(QT学习,qt)