2013-09-16 90 views
0

如何確定當前顯示在使用coreplot製作的圖形中的數據偏移量。如何確定coreplot中當前在x軸上可見的數據計數

我需要得到我的dataSource數組的索引。

例如,如果我有一個圖表這XRANGE是從0到100和我有555個數據集:

當圖不是縮放所有555點的數據集被顯示 - >索引0到554 當圖表是放大或縮小並非所有數據集都顯示 - >例如索引100至333

我的問題是現在我怎麼能找出這些索引號(100和333)爲當前顯示的圖上下界。例如在- (CPTPlotRange *)plotSpace:(CPTPlotSpace *)space willChangePlotRangeTo:(CPTPlotRange *)newRange forCoordinate:(CPTCoordinate)coordinate -Delegate方法中

+0

我找到了解決方案。現在我在它自己的繪圖區中添加另一個隱藏的x軸。這個圖空間的範圍是從0 - data.count設置的。現在,我可以在縮放和平移後抓住該軸的更改範圍。如果有人有更好的主意,請讓我知道! –

回答

0

只有當數據按索引排序並沿x軸均勻分佈時,您的解決方案纔有效。一般的解決方案是查看繪圖空間代表中的繪圖範圍(舊的或新的取決於你在做什麼)並查看每個數據點以確定它是否落在繪圖範圍內。如果數據是排序的,均勻分佈的,並且您知道最小值和最大值,則確定繪圖範圍中的第一個和最後一個索引是一個簡單的比例計算。

+0

「看看每個數據點」 - 警告,這可能會帶來巨大的價格昂貴的n。 –

相關問題