У меня есть приложение, использующее Chart JS и отличное расширение chart js -plugin-crosshair , чтобы обеспечить масштабирование и вертикальную линию при наведении курсора. Возможность «связывать» диаграммы имеет решающее значение, поскольку она выделяет значения на отдельных диаграммах по одной оси X.
Проблема в том, что связанные диаграммы также имеют связанные легенды. Я создал простой пример: https://codepen.io/sheixt/pen/JjGvbVJ
Вот отрывок из конфигурации Chart option
(см. Ссылку на полный сценарий):
const options = {
plugins: {
crosshair: {
sync: {
enabled: true
}
}
},
tooltips: {
mode: "interpolate",
intersect: false,
callbacks: {
title: function (a, d) {
return a[0].xLabel.toFixed(2);
},
label: function (i, d) {
return d.datasets[i.datasetIndex].label + ": " + i.yLabel.toFixed(2);
}
}
}
};
Как видите, если вы «отключите» набор данных (например, набор данных 1, A в диаграмме 1 , D в диаграмме 2 и G в диаграмме 3 ), набор данных удаляется из всех связанных диаграмм.
У меня есть серия диаграмм, основанных на на одних и тех же данных оси X, поэтому идеально подходят линия перекрестия и всплывающая подсказка на всех связанных диаграммах. Но поскольку каждый набор данных, который отображается на разных диаграммах, не одинаков, я не хочу, чтобы он исчезал при щелчке.
Итак, в моем примере отмена выбора набора данных 1 на диаграмме 1 A будет удалено, но D в диаграмме 2 и G в диаграмме 3 должны остаться.
Возможно ли это?