【问题标题】:Click every label onload ChartJS单击加载 ChartJS 的每个标签
【发布时间】:2016-10-23 06:00:44
【问题描述】:

在使用 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();

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

【问题讨论】:

    标签: javascript jquery charts chart.js


    【解决方案1】:

    这对我有用:

     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;
    });
    

    结果:

    Codepen:Chart.js Pre Crossed Series

    【讨论】:

      猜你喜欢
      • 2020-09-17
      • 2018-08-24
      • 2020-12-29
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      相关资源
      最近更新 更多