我正在绘制 N 系列数据。每个系列包含 N 个数据点,这些数据点的发生时间采用 UNIX 时间,精度为小数点后 5 位。数据点可能具有不同的间隔,因此两个或多个数据点不太可能共享相同的发生时间。
我将所有数据点存储在一个排序集合中。绘制的较小系列是根据该数据集构建的。问题是,如果我沿时间线对数据进行动画处理,一个系列可能没有任何最近的点,因此这些点不能留在查看的集合中,因为它们显然不在同一个位置。例如,一个数据系列可能会停止有点,然后在很久以后重新开始。这是数据点数组(它们的 UNIX 发生时间)。
allpoints
= { 120.5, 130.5, 135.5, 140.5, 140.5, 145.5, 150.3, 150.5, 160.5, 170.5, 180.5, 190.5, 200.5, 200.5 };
series1
= {135.5, 140.5, 145.5, 150.5, 200.5
};
series2
= { 120.5, 130.5, 140.5, 150.3, 160.5, 170.5, 180.5, 190.5
, 200.5 };
当然,我不能阻止所有旧点series1
继续前进,因为它在 50 秒内基本上不存在,而这些点series 2
仍在绘制中。
对我来说,让这些系列中的数据保持最新的最佳方式是什么,而不必在每次从主要数据点集合中添加另一个点时检查每个点?也许是优先队列之类的?
谢谢