iPhone4 Core Plot Какое разумное количество очков для точечного графика? - PullRequest
1 голос
/ 20 октября 2011

Я бездельничаю с Core Plot, и производительность убивает меня. У меня до 43000 точек данных , и кажется, что базовый график дает сбой примерно через 1500 . Какое количество точек можно построить для точечной диаграммы?

Может быть, есть какой-то другой тип графика, который позволил бы мне построить все 43000 точек на большом изображении?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 06 января 2012

Могу ли я указать вам направление нашего нового программного обеспечения для построения графиков iOS, которое скоро будет запущено моей командой? Мы действительно довольны уровнем производительности, которого мы достигли до сих пор - это может оказаться более подходящим вариантом для ваших нужд.

Вы можете получить бесплатную пробную версию на www.shinobicontrols.com

1 голос
/ 20 октября 2011

Предполагая, что вы рисуете точечный график XY, вы уверены, что должны использовать все 43000 значений?Для того чтобы увидеть их все сразу, потребуется представление шириной 43000 пикселей:)

В моем приложении у меня есть точечные графики данных с до 3600 значений, но я отображаю только столько точек, сколько уместится в видимом xRange.Например, мое графическое представление имеет ширину 600px, поэтому я настраиваю количество точек данных графика:

  • не более 600 точек в текущем xRange - если xRange.lengthDouble >= 600
  • не более xRange.lengthDouble точек в текущем xRange - если xRange.lengthDouble < 600

Если globalXRange больше xRange (т.е. при увеличении графика), я настраиваю количество точек данныхдо 600 для текущей xRange и перезагрузки данных графика - это делает счетчик данных больше 600, но все же меньше, чем мои 3600.

Это приводит к ограничению, что при слишком большом увеличении графика вашколичество точек данных в любом случае значительно увеличится и приведет к замедлению, но все зависит от вашей ситуации.Если вам не нужно отображать данные с огромным коэффициентом масштабирования, вы можете просто уменьшить точки данных и отобразить только 1/n часть ваших данных (каждый n-й результат).

...