線形の y 軸と対数の x 軸を持つ散布図があり、すべてうまく機能します。しかし、タッチ ポイントをプロット スペース座標に変換しようとすると、問題が発生します。
次のようなさまざまな場所が提案されているのを見てきました。
- (BOOL)plotSpace:(CPTPlotSpace *)space shouldHandlePointingDeviceUpEvent:(id)event atPoint:(CGPoint)point
{
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)space;
CPTScatterPlot *scatterPlot = [[[plotSpace graph] allPlots] objectAtIndex:0];
CGPoint plotAreaPoint = [[plotSpace graph] convertPoint:point toLayer:scatterPlot];
NSLog(@"PlotAreaPoint : %.1f, %.1f", plotAreaPoint.x, plotAreaPoint.y);
NSDecimal dataPoint[2];
NSDecimalNumber *xCoordinate, *yCoordinate;
[plotSpace plotPoint:dataPoint forPlotAreaViewPoint:plotAreaPoint];
xCoordinate = [NSDecimalNumber decimalNumberWithDecimal:dataPoint[0]];
yCoordinate = [NSDecimalNumber decimalNumberWithDecimal:dataPoint[1]];
NSLog(@"DataPoint : %.1f, %.1f", [xCoordinate floatValue], [yCoordinate floatValue]);
return YES;
}
これを実行すると、plotAreaPoint は正しく、yCoordinate は正しいように見えます。左端 (5.0) または右端 (500.0) をタップすると xCoordinate は正しくなりますが、中央をタップすると線形軸のように動作します。真ん中をタップすると、50.0 ではなく 250.0 程度になります。何か不足していますか、それとも別の方法がありますか?
ありがとう、ティム