单击每个标签onload ChartJS

时间:2016-10-22 18:14:06

标签: javascript jquery charts chart.js

我尝试使用ChartJS图表加载图表后点击每个标签。我已经编写了以下代码,并且无法完成我已经获得的内容。任何见解或帮助将不胜感激。

        myChart.legend.legendItems.forEach(function(label, key) {
            console.log(myChart.legend.legendItems[key].hidden);
            if (label.datasetIndex) {
                myChart.legend.legendItems[key].hidden = true;
            }
            console.log(myChart.legend.legendItems[key].hidden);
        });

        myChart.update();

我试图绘制图表,以便在首次加载时,每个标签都被划掉并隐藏。我是否有正确的想法将其设置为隐藏和更新?谢谢!

1 个答案:

答案 0 :(得分:0)

这对我有用:

 multiLineChart.legend.legendItems[0].hidden = true;
 multiLineChart.data.datasets[0].hidden = true;

出于某种原因,更新方法并不常用,但确实如此:

function init() {
 myBarChart = new Chart(ctx, {
  type: chartType,
  data: data,
  options: options
 });
myBarChart.legend.legendItems[0].hidden = true;
myBarChart.data.datasets[0].hidden = true;
}

你的功能:

multiLineChart.legend.legendItems.forEach(function(label, key) {
  multiLineChart.legend.legendItems[key].hidden = true;
  multiLineChart.data.datasets[key].hidden = true;
});

结果: enter image description here

Codepen:Chart.js Pre Crossed Series