Основной график - добавьте OutOfRange, чтобы нарисовать график, который динамически изменяется с меткой "OL"

В настоящее время я работаю над уже установленным приложением, которое использует график Core, и в частности его использование ScatterPlot для рисования графика. Этот график отображается со значениями, полученными от подключенного устройства Bluetooth, поэтому график отображается динамически. График XY с осью X, имеющей значение времени, и осью Y, имеющей значение от устройства BLE.

Теперь требуется добавить значение вне диапазона с меткой "OL" на графике, а не постоянное значение для устройства Bluetooth (это больше состояния, установленного в объекте модели, который построен в слое BLE со значением нежелательной почты). получены для этого состояния и на котором мы можем выяснить его значение вне диапазона).

Так, например, если я изначально получаю значение 'OL', мне нужно добавить его на график выше 0 с меткой "OL". '-OL' ниже 0 с меткой "-OL". Значения, полученные из BLE, непрерывно добавляются в массив, и график перерисовывается с использованием этого массива.

Таким образом, поведение ожидается, как показано ниже: если я получу 200 в качестве значения в массиве и если массив имеет значение OL, то значение OL должно быть нанесено выше 200, и если следующее значение из BLE будет 300, которое будет добавлено в массив и после OL выше 200, теперь OL должен быть нанесен выше 300.

Я попробовал 2-3 разных подхода, чтобы найти решение для этого, но безуспешно.

Изображение ожидаемого требования:

Изображение ожидаемого требования

Требовать кого-то, чтобы помочь, если это возможно, чтобы реализовать это с помощью основного графика.

1 ответ

Решение

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

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

Другие вопросы по тегам