[英]How to change the color of legend in chartjs and be able to add one more legend?
我想改变图例的颜色,因为我想要不同的 colors 代表不同的情况。但现在图例只使用我在条形图上设置的第一种颜色。
我也想问一下,能再设置一个legend吗?比如粉色代表situationA,蓝色代表B?
Here is the link:
代码在这里有人可以帮忙吗?非常感谢。
要设置更多图例,您需要添加多个数据集。 每个数据集将代表一个图例和说明的背景颜色的颜色将自动根据数据集来设置'。
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>
在 react-chartjs2 中执行此操作
<Line
data={this.data}
options={this.options}
redraw={true}
plugins={[
{
beforeDraw(c) {
var legends = c.legend.legendItems;
legends[0].fillStyle = "#103362";
legends[1].fillStyle = "#3F80D8";
}
}
]}
/>
options = {
responsive: true,
maintainAspectRatio: false,
legend: {
labels: {
usePointStyle: true,
boxWidth: 9
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.