Как поместить номер оси Y в Core Plot? - PullRequest
0 голосов
/ 01 декабря 2011

Мне бы хотелось, чтобы мой график рассеяния, который я делаю с библиотекой Core Plot, отображал значение Y вблизи каждой точки относительно данных X.

Я смотрел на проект CPTTestApp из примеров Core Plot, но я просто невозьми.Сначала я подумал, что секрет кроется в методе

-(CPTPlotSymbol *)symbolForScatterPlot:(CPTScatterPlot *)plot recordIndex:(NSUInteger)index

, и я реализовал его в своем проекте.Да, у меня нарисованы точки, и это хорошо, но я обнаружил, что это, вероятно, не имеет ничего общего со значениями, отображаемыми рядом с точками ....

Это подозрение подтвердилось, когда я открыл демонстрацию Candlestick из демонстрации Plot_Galley_Mac.Нет вышеописанного метода, и он хорошо показывает цифры!

Если кто-нибудь может, пожалуйста, помогите мне.В противном случае, я хотел бы поблагодарить разработчиков за то, что они поделились с нами этой библиотекой.Помимо использования структуры NSDecimal и немного тонких ручных и справочных данных, это потрясающий проект.

1 Ответ

1 голос
/ 02 декабря 2011

Вы ищете "метки данных".CPTPlot имеет ряд свойств, которые управляют встроенными функциями маркировки:

  • labelOffset: расстояние между точкой и меткой
  • labelRotation: угол поворота
  • labelTextStyle: стиль текста, используемый для рисования меток
  • labelFormatter: форматер чисел (или даты), используемый для форматирования меток
  • labelShadow: свойства тени, применяемые кярлыки

Если встроенные ярлыки не соответствуют вашим потребностям, вы можете создать свои собственные.Реализуйте метод источника данных -dataLabelForPlot:recordIndex: и верните желаемую метку для каждой точки.Пользовательские метки могут быть любыми CPTLayer, поэтому вы можете создавать все что угодно - текст, изображения или любой пользовательский слой, который вы создаете.

...