2017-06-04 110 views

回答

2

要設置更多的圖例,您需要添加多個數據集。每個數據集將代表一個圖例,並且圖例顏色將根據數據集背景顏色自動設置。

Chart.plugins.register({ 
 
    beforeDraw: function(c) { 
 
     var legends = c.legend.legendItems; 
 
     legends.forEach(function(e) { 
 
     e.fillStyle = '#07C'; 
 
     }); 
 
    } 
 
}); 
 

 
var canvas = document.getElementById('myChart'); 
 

 
var data = { 
 
    labels: ["January", "February", "March", "April", "May", "June"], 
 
    datasets: [{ 
 
     label: "My First dataset", 
 
     backgroundColor: "rgba(255,99,132,0.4)", 
 
     hoverBorderColor: "rgba(255,99,132,1)", 
 
     data: [65, 59, 20, 81, 56, 55], 
 
    }, { 
 
     label: "My Second dataset", 
 
     backgroundColor: "rgba(25,25,255,0.4)", 
 
     hoverBorderColor: "rgba(255,99,132,1)", 
 
     data: [65, 59, 20, 81, 56, 55], 
 
    }] 
 
}; 
 

 
var option = { 
 
    scales: { 
 
     xAxes: [{ 
 
     stacked: true 
 
     }], 
 
     yAxes: [{ 
 
     stacked: true, 
 
     gridLines: { 
 
      display: true, 
 
      color: "rgba(255,99,132,0.2)" 
 
     } 
 
     }] 
 
    } 
 
}; 
 

 
var myBarChart = Chart.Bar(canvas, { 
 
    data: data, 
 
    options: option 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script> 
 
<canvas id="myChart" width="400" height="200"></canvas>

+0

謝謝您的回答!但它是否只能通過函數改變圖例的顏色?謝謝你的時間。 – Jane

+0

是的,這是可能的。你需要創建一個圖表插件來實現這一點。檢查更新的答案。 –

+0

很酷,非常感謝! – Jane

相關問題