Подтвердить что ты не робот

Отображение в реальном времени на iPhone с использованием основного графика?

Я хочу использовать основной график для динамического рисования линейного графика. данные не будут поступать одновременно, мы будем получать точки за точкой динамически.

Можно ли динамически рисовать диаграмму с использованием основного графика i.e нарисовать точку за точкой, когда мы получим точку (x, y)?

Пожалуйста, помогите мне, спасибо.

4b9b3361

Ответ 1

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

Если вам нужно настроить диапазон графика для отслеживания точек данных (для движущегося тикера), пересчитайте новый CPPlotRange для оси X и установите для xRange свойство xRange пространства xRange.

Используйте примеры CPTestApp-iPhone, AAPLot или StockPlot в качестве шаблонов для настройки общей линейной диаграммы и изменения с этой начальной точки.

Я делаю нечто похожее на это на Mac в научном приложении: alt text
(источник: sunsetlakesoftware.com)

Ответ 2

Похоже, вы могли бы использовать демонстрационный проект, который я собрал, и писал о здесь (но не основной сюжет, связанный, хотя).

Он рисует график EKG, но его легко изменить, чтобы использовать другой вход, чем повторный "сердечный ритм"... См. строку 320 в EAGLView.m, где indata вводится в массив.