У меня есть 2 источника данных. И необходимо отобразить на графике по координате X, например, от 1 до 2 из первого источника, и от 2 до 5 из второго источника.
На сервере я эти данные формирую и отправляю одной пачкой.
Отображать разные данные визуально в Сhart JS я собираюсь при помощи segment (из первого источника линия будет пунктирной, а далее она продолжается данными из второго источника, но при этом линия будет неразрывной)
Но вопрос в том, как я должен объяснить ChartJSу какой период — первый источник, а какой период второй источник?
Подумываю сделать скрытое поле и Ajaxом подтягивать туда дату, до которой он должен показывать из первого источника, а всё что после — из второго. Но по мне это костыль.
Наитие так и говорит о том, что ChartJS умный и в данные, которые я формирую на сервере как-то можно добавить информацию, которая показывает к какому периоду они принадлежат.
Простыми словами:
Я передаю в datasets данные по точкам: x, y
Можно ли передавать третий параметр, который бы показывал из какого источника (первого или второго) получены данные, чтобы разделить их по сегментам визуально?
Смотрел пример на официальном сайте по сегментам:
https://www.chartjs.org/docs/latest/samples/line/s...
Там условие разделения составлено по уже имеющим данным. То есть:
const down = (ctx, value) => ctx.p0.parsed.y > ctx.p1.parsed.y ? value : undefined;
И это работает так, что если график идет вниз, то там включается сегмент пунктира.
Мне нужно тоже самое, но условие соответственно изменить. Что если x < моего значения, то пунктирная линия, иначе неразрывная.
Проблем не было бы, если моё значение было статичным. Но оно с каждым запросом будет меняться и соответственно будет индивидуальным. Поэтому мне нужно как-то сообщить ChartJSу эту информацию.