【问题标题】:How to determine the data count that is currently visible on the xaxis in coreplot如何确定 coreplot 中 x 轴上当前可见的数据计数
【发布时间】:2013-09-16 12:27:09
【问题描述】:

如何确定当前在使用 coreplot 制作的图表中显示的数据偏移量。

我需要获取我的数据源数组的索引。

例如,如果我有一个 xRange 从 0 到 100 的图表,并且我有 555 个数据集:

当图表未缩放时,所有 555 个数据集都会显示 -> 索引 0 到 554 当图表被缩放或平移时,并非所有数据集都显示 -> 例如索引 100 到 333

我现在的问题是如何找出这些索引号(100 和 333)以用于当前显示的图表的下限和上限。例如在- (CPTPlotRange *)plotSpace:(CPTPlotSpace *)space willChangePlotRangeTo:(CPTPlotRange *)newRange forCoordinate:(CPTCoordinate)coordinate-Delegate 方法中

【问题讨论】:

  • 我找到了解决方案。现在我在它自己的绘图空间中添加另一个隐藏的 xaxis。我设置的这个绘图空间的范围是 0 - data.count。现在我可以在缩放和平移后抓住这个轴的变化范围。如果有人有更好的主意,请告诉我!

标签: ios objective-c datasource core-plot


【解决方案1】:

仅当数据按索引排序并沿 x 轴均匀分布时,您的解决方案才有效。一般的解决方案是查看绘图空间委托中的绘图范围(旧的或新的,取决于您在做什么)并查看每个数据点以确定它是否在绘图范围内。如果数据是有序的、均匀分布的,并且您知道最小值和最大值,则可以通过简单的比例计算来确定绘图范围内的第一个和最后一个索引。

【讨论】:

  • "查看每个数据点" - 警告,如果 n 值很大,这可能会变得很昂贵。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多