gpt4 book ai didi

c++ - 绘制大量数据

转载 作者:搜寻专家 更新时间:2023-10-30 23:51:02 25 4
gpt4 key购买 nike

在我开发的一个产品中,有一个迭代循环,可以有几百到几百万次迭代。每次迭代计算一组统计变量( double ),变量数最多可达1000个(一般为15-50个)。

作为循环的一部分,我们绘制迭代过程中变量的变化,因此 X 轴是迭代次数,Y 轴是变量(按颜色编码):

http://sawtoothsoftware.com/download/temp/walt/graph.jpg

目前数据存储在一个文件中,包含:
一个 4 字节整数,其中变量,
迭代的 4 字节整数,
和一个 8 字节的 double 值。

y 轴的总比例随时间变化,需要调整图形大小以适应当前比例(这可以在图片中看到)。

以大约 5 秒的时间间隔,读取数据并将其绘制在位图上,然后显示给用户。我们尝试进行一些优化以避免重新绘制整个内容,但如果迭代次数或变量数量变大,我们最终会得到一个巨大的文件,绘制时间超过 5 秒。

我正在寻找有关如何在可能的情况下更有效、更快速地处理这么多数据的想法。

最佳答案

在 SQL 术语中,您应该对结果进行分组和聚合。如果不滚动屏幕,您不可能在图表上显示所有 10,000 个数据点。一种方法是您可以按时间尺度(秒、分钟等)分组并查询 AVG()MAX()MIN() 将数据点减少到更小的规模。

MySQL 示例,按秒分组:

select time_collected, AVG(value)
from Table
group by UNIX_TIMESTAMP(time_collected)

还可以考虑组合聚合值并在 candle stick chart 中可视化.

关于c++ - 绘制大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/263676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com