Базовый график - добавление индикатора вертикальной / горизонтальной линии в выбранную точку значения - PullRequest
0 голосов
/ 09 февраля 2012

Я использую базовый график для создания линейного графика для моего приложения для iPhone. До сих пор я успешно сделал линейный график из моих данных XML.

Кроме того, я добавил текстовый слой, который показывает значение (например, 40) после выбора ячейки удерживая значение 40. Для этого я использую функцию:

(CPTLayer *)dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index

Так что теперь я хочу иметь вертикальную линию на графике, чтобы указать выбранное значение (40). Я попытался добавить CPTBarplot, но почему-то столбцы отображаются только в начале оси графика. Есть ли какая-либо функция из основного графика, подобная приведенной выше, которая создаст линейный индикатор?

Буду признателен, если кто-нибудь подскажет, как решить эту проблему, и заранее большое спасибо.

1 Ответ

1 голос
/ 10 февраля 2012

Вы можете использовать для этого график рассеяния. В Mac CPTTestApp есть демонстрация выбора точек, которая рисует перекрестие над выбранной точкой. Было бы тривиально изменить это, чтобы нарисовать только вертикальную линию.

Метод источника данных -numberOfRecordsForPlot: возвращает количество точек в индикаторе выбора (5 для перекрестия) или ноль (0), если нет текущего выбора. Метод -numberForPlot:field:recordIndex: возвращает точки в индикаторе. Точки рисуются в следующем порядке:

  1. левый
  2. правый
  3. Центр (с символом сюжета)
  4. Top
  5. Bottom

Метод -symbolForScatterPlot:recordIndex: управляет символом графика в центре. Вы можете исключить этот метод, если вам не нужны никакие символы на графике индикатора.

...