2016-10-22 61 views
1

我想單擊圖表加載後使用ChartJS圖表的每個標籤。我寫了下面的代碼,並且無法通過我已有的東西。任何見解或幫助將不勝感激。點擊每個標籤onload 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(); 

我試圖繪製圖表,以便它第一次加載時,每個標籤被劃掉並隱藏。我有正確的想法將其設置爲隱藏和更新嗎?謝謝!

回答

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