2017-06-04 109 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

相关问题