I want to change the color of legend, because I want different colors to represent different situations.But now the legend uses just the first color I set on the bar chart.
I also want to ask, is it able to set one more legend?Like pink is for situationA, blue for B?
Here is the link:
Code is here Can anyone help?Thank you so much.
Adding a legend in chartJS 3.0+ requires the use of plugins. Basically you can create a custom plugin when you instantiate the chart. For example: const context = document.
To remove legend on charts with Chart. js v2 and JavaScript, we can set the options. legend to false . const chart1 = new Chart(canvas, { type: "pie", data: data, options: { legend: { display: false, }, tooltips: { enabled: false, }, }, });
The following example will create a chart with the legend enabled and turn all of the text red in color. var chart = new Chart (ctx, { type: 'bar', data: data, options: { legend: { display: true, labels: { fontColor: 'rgb (255, 99, 132)' } } } }); Custom On Click Actions
Sorts legend items. Type is : sort (a: LegendItem, b: LegendItem, data: ChartData): number;. Receives 3 parameters, two Legend Items and the chart data. The return value of the function is a number that indicates the order of the two legend item parameters.
You can specify the color as a string in hexadecimal, RGB, or HSL notations. If a color is needed, but not specified, Chart.js will use the global default color. There are 3 color options, stored at Chart.defaults, to set: Background color.
To set more legends, you need to add multiple datasets. Each dataset will represent one legend and the legend 's color will automatically be set according to the dataset 's background color.
To set more legends, you need to add multiple datasets. Each dataset will represent one legend and the legend's color will automatically be set according to the dataset's background color.
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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With