【问题标题】:in core-plot how do i translate to coordinates using the plotSymbolWasSelectedAtRecordIndex method?在 core-plot 我如何使用 plotSymbolWasSelectedAtRecordIndex 方法转换为坐标?
【发布时间】:2011-01-13 13:57:06
【问题描述】:

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

我有什么

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

是索引和上下文中的情节。

我需要获取准确的坐标,以便在该点使用弹出框。

提前致谢

【问题讨论】:

    标签: iphone ipad core-plot


    【解决方案1】:

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

    -(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];
    

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

    【讨论】:

    • 这正是我想要的。我不明白 doubleprecisionpoint 参数可以同时接受 x 和 Y 值。
    • @zecougar - 是的,C 样式数组的使用并没有立即明确,除非您查看框架源代码。我真的需要再次积极使用该框架,因为我什至不知道已经实现了这种触摸处理功能。
    • 这似乎已被弃用 @BradLarson 是否有一种新的方法可以很好地做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 2021-09-03
    • 1970-01-01
    • 2011-10-23
    • 2014-09-24
    相关资源
    最近更新 更多