ChartJs - возможно ли показывать только всплывающую подсказку в одном наборе данных? - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть два набора данных, один - строка, а второй - столбец.

Проблема в том, что всплывающая подсказка работает в обоих наборах данных, и я хочу работать только в одной строке.

Я хочу показать только всплывающую подсказку только для набора данных бара, возможно ли это?

это мой код.

var chartData = {
  labels: ["January", "February", "March"],
  datasets: [
    {
      type: "line",
      label: "OEE",
      tooltip: false,
      borderColor: window.chartColors.red,
      borderWidth: 2,
      fill: false,
      data: [0,10,0,15]
    },
    {
      type: "bar",
      label: "Paro",
      backgroundColor: window.chartColors.yellow,
      data: [0,6,0,0],
      borderColor: "white",
      borderWidth: 2

    }
  ]
};
window.onload = function() {
  var ctx = document.getElementById("canvas").getContext("2d");
  window.myMixedChart = new Chart(ctx, {
    type: "bar",
    data: chartData,
    options: {
      responsive: true,
      title: {
        display: true,
        text: "Test"
      },
    tooltips: {
      callbacks: {
        title: function(tooltipItem) {
          return "Title";
        },
        label: function(tooltipItem) {
          return "Reason";
        }
      },
      backgroundColor: '#FFF',
      titleFontSize: 16,
      titleFontColor: '#0066ff',
      bodyFontColor: '#000',
      bodyFontSize: 14,
      displayColors: false
    }
    }
  });
};

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Отредактировал код Sajeetharan, и это работает для меня:

    tooltips: {
      filter: function (tooltipItem, data) {
        const type = data.datasets[tooltipItem.datasetIndex].type;
        if (type === 'bar') {
          return true;
        } else {
          return false;
        }
      }
    }
0 голосов
/ 07 сентября 2018

Вы можете проверить тип и отключить его как

tooltips: {
          filter: function (tooltipItem, data) {
              var type = data.type;
              if (type == "Bar") {
                return true;
              } else {
                return false;
              }
          }
...