To display pie chart data values of each slice in Chart.js and JavaScript, we can use the chartjs-plugin-labels plugin.
To use it, we write the following HTML:
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.min.js"></script>
<script src='https://cdn.jsdelivr.net/gh/emn178/chartjs-plugin-labels/src/chartjs-plugin-labels.js
'></script>
<canvas width='200' height='200'></canvas>
to add the script tags for Chart.js, the plugin, and the canvas for the chart.
Next, we write:
const canvas = document.querySelector('canvas')
const ctx = canvas.getContext('2d')
const data = {
datasets: [{
data: [
11,
16,
7,
3,
14
],
backgroundColor: [
"#FF6384",
"#4BC0C0",
"#FFCE56",
"#E7E9ED",
"#36A2EB"
],
label: 'My dataset' // for legend
}],
labels: [
"Red",
"Green",
"Yellow",
"Grey",
"Blue"
]
};
new Chart(ctx, {
type: 'pie',
data,
options: {
plugins: {
labels: {
render: 'value',
precision: 0,
showZero: true,
fontSize: 12,
fontColor: '#fff',
fontStyle: 'normal',
fontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
textShadow: true,
shadowOffsetX: -5,
shadowOffsetY: 5,
shadowColor: 'rgba(255,0,0,0.75)',
arc: true,
position: 'default',
overlap: true,
showActualPercentages: true,
images: [{
src: 'image.png',
width: 16,
height: 16
}],
outsidePadding: 4,
textMargin: 4
}
}
}
});
We have the data object with the chart data and the color of the slices stored in backgroundColor.
Then we have some options for the text in the plugins.labels property.
Options include fontColor , fontStyle , fontFamily , fontSize and more that will be shown in the pie slices.
Now each pie slice should have the number corresponding to the slice size in it.