【发布时间】:2013-11-05 14:34:20
【问题描述】:
我有一组具有time 和value 属性的对象。看起来像这样。
更新: 带有纪元时间而不是时间字符串的数据集
[{datetime:1383661634, value: 43},{datetime:1383661856, value: 40}, {datetime:1383662133, value: 23}, {datetime:1383662944, value: 23}]
数组远比这个大。可能是 6 位长度。我打算建立一个图表来表示这个数组。由于显而易见的原因,我不能使用所有数据来构建这个图表(价值与时间);所以我需要随着时间的推移对其进行标准化。
所以这是主要问题 - 这些对象的时间戳没有趋势;所以我需要动态选择时间段,在这些时间段中我可以平均出值或显示该时间段中的对象数。
如何计算用户友好的插槽。即每分钟,每小时,每天,八小时左右。我正在考虑从阵列中完成最多 25 个插槽,我在图表上显示了这些插槽。
我希望这有助于理解我的观点。
【问题讨论】:
-
这个问题是关于节省内存(字节)还是关于以用户友好的方式显示值的问题?
-
@HighPerformanceMark 我的错。我手动创建了一个演示数据集。
-
@sled 这是关于以用户友好的方式显示值。要在图表上显示 100,000 个值,我需要压缩时间尺度。我需要一些方向来以用户友好的方式压缩这个时间尺度。
-
mhhh 这只是一个快速的想法(不保证它会起作用):首先构建一个二叉树/排序树,然后从叶子开始,将叶子合并到包含多个项目的桶中,直到达到 25 个桶在叶子级别。这些桶然后代表您的时间线上可能包含多个项目的点。非常类似于 BTree。
-
或者另一种想法,您可以尝试使用 k 近邻算法沿时间线构建集群。
标签: arrays algorithm graph analytics