Когда вы предоставляли данные для точечной диаграммы, вы использовали
-(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];
, чтобы получить координату вида на графике, которая соответствует местоположению точки данных, к которой прикоснулись. Оттуда вы можете выполнить преобразование координатного пространства, чтобы найти подходящее место для размещения аннотации.