Диаграмма JS Перекрестие - связанные диаграммы без связанных легенд - PullRequest
0 голосов
/ 09 июля 2020

У меня есть приложение, использующее 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 должны остаться.

Возможно ли это?

...