Coreplot - изменение цвета линии данных (в середине динамической ситуации)
Я динамически строю графики на моем iPhone из значений, полученных от модуля BLE с использованием CorePlot. Я нашел инициализатор для CPTLineStyle
класс и изменил lineColor
свойство от черного до зеленого. В настоящее время я использую CPTPlainBlackTheme
тематический класс.
Моя строка данных Scatter Plot теперь зеленая... однако я пытаюсь заставить этот новый сценарий работать. Я добавил кнопку "Захват", которая запускает таймер для сбора важных значений данных и их сохранения в области (текущее значение по умолчанию - 1 минута сбора). Как только эта кнопка нажата, я хочу, чтобы линия данных на графике перейти от зеленого до, скажем, белого.
Кроме того, в качестве дополнения (просто для того, чтобы разграничить разницу между общими и важными данными), я хотел бы иметь возможность сделать черный фон немного светлее, начиная с того момента, когда нажата кнопка Capture. Представьте, что линия данных поступает, и тогда, когда нажата кнопка Capture, прямоугольный квадрат (светлее по сравнению с простым черным фоном и растягивающийся до верха и низа отступа графика) теперь покрывает данные, как серое одеяло.
Вот что у меня есть для этой линии:
CPTMutableLineStyle *anotherLine = [CPTMutableLineStyle lineStyle];
anotherLine.lineColor = [CPTColor whiteColor];
Как мне применить этот новый lineStyle
и к какому объекту? CPTGraph, CPTScatterPlot, CPTXYPlotSpace?
1 ответ
Если вы хотите изменить цвет всей линии графика, установите dataLineStyle
в новый стиль. Чтобы сделать часть линии одним цветом, а остальные - другим, вам нужно использовать два графика, по одному для каждого цвета.
Для фона, посмотрите на -addAreaFillBand:
метод. Вы можете использовать столько групп, сколько захотите. См. "Градиент рассеяния" в примере приложения Plot Gallery для примера кода.