coreplot:转换坐标,有问题。 [plotSpace plotPoint:plotPoint forPlotAreaViewPoint:point];

时间:2012-04-26 07:54:42

标签: iphone ios core-plot

我想将触摸点转换为CPTXYPlotSpace点。但是我发现有真实坐标的偏移量。 我发现,它从边界计算出x轴的一部分。 我希望将点映射到x& y轴的值。

我的英语很差...... 我想知道哪里错了?请告诉我。

这是代码。

-(BOOL)plotSpace:(CPTPlotSpace *)space shouldHandlePointingDeviceDownEvent:(id)event atPoint:(CGPoint)point
{    NSDecimal plotPoint[2]; 
    CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
    [plotSpace plotPoint:plotPoint forPlotAreaViewPoint:point]; 


   //HERE HAVE SOME OFFSET. I FIND ,it Calculated part of the x-axis from the border
    NSLog(@"touch plotPoint = %d, %f", 
    [[NSDecimalNumber decimalNumberWithDecimal:plotPoint[CPTCoordinateX]] intValue],
    [[NSDecimalNumber decimalNumberWithDecimal:plotPoint[CPTCoordinateY]] doubleValue]);
    return YES;
}

1 个答案:

答案 0 :(得分:3)

首先将点转换为绘图区域的坐标系:

CGPoint plotAreaPoint = [graph convertPoint:point toLayer:graph.plotAreaFrame.plotArea];
[plotSpace plotPoint:plotPoint forPlotAreaViewPoint:plotAreaPoint];