在core-plot中如何使用plotSymbolWasSelectedAtRecordIndex方法转换为坐标?

时间:2011-01-13 13:57:07

标签: iphone ipad core-plot

我可以看到,在mac版本的例子中,他们使用了绑定和NSArrayController(两者都没有在iOs中使用?)

我有什么来自

(void)scatterPlot:(CPScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index

是上下文中的索引和图。

我需要获得精确的坐标,以便我可以在那时使用弹出窗口。

提前致谢

1 个答案:

答案 0 :(得分:4)

当您向散点图提供数据时,您使用了

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 

委托方法(或类似的东西)。它查询的部分信息是recordIndex,它通常用作数据点的NSArray的索引。

您在此处显示的委托方法会返回一个索引,指示散点图上的某个点与之交互。您应该能够获取与数据源数组中的索引相对应的X,Y坐标并使用

double doublePrecisionPlotPoint[2];
doublePrecisionPlotPoint[CPCoordinateX] = [xValue doubleValue];
doublePrecisionPlotPoint[CPCoordinateY] = [yValue doubleValue];

CGPoint viewPoint = [graph.defaultPlotSpace plotAreaViewPointForDoublePrecisionPlotPoint:doublePrecisionPlotPoint];

获取图表中与触摸的数据点位置对应的视图坐标。从那里,您可以协调空间转换以获得放置注释的适当位置。