我正在繪製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
的點仍然被繪製。
對於我來說,保持這些系列中的數據保持最新狀態的最佳方式是,無需每次從主要數據點集合添加另一個點時都檢查每個點。也許是一個優先隊列或什麼?
感謝
我不明白 - 你想繪製這些舊的數據點或扔掉它們嗎? – MBo 2015-02-23 16:10:34
數據點將被繪製出來,但只有在繪製當前點的合理時間內。 – CanadaIT 2015-02-23 16:13:15
您是否考慮過使用Visiblox FilteredDataSeries for series1和series2,並將其OriginalDataSeries設置爲allpoints? WindowedFilterStrategy可能是你需要的。 http://www.visiblox.com/blog/posts/2013/10/25/plotting-lots-of-data-with-combined-filterstrategies – 2015-02-24 10:09:06