Data labels responsive font
https://github.com/chartjs/chartjs-plugin-datalabels/issues/27
by cubicalmonkey
HTML
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<div class="wrapper">
<canvas id="chart"></canvas>
</div>
JavaScript
var labels = [0,1,2,3,4,5,6,7,8,9];
var data = [0,1,2,3,2,3,0.5,8,4,2];
var chart = new Chart('chart', {
type: 'bar',
data: {
labels: labels,
datasets: [{
backgroundColor: '#ccddee',
borderColor: '#5566aa',
data: data
}]
},
options: {
legend: false,
tooltip: false,
layout: {
padding: 24
},
plugins: {
datalabels: {
anchor: 'end',
align: 'end',
backgroundColor: null,
borderColor: null,
borderRadius: 4,
borderWidth: 1,
color: '#223388',
font: function(ctx) {
var width = ctx.chart.width;
var size = Math.round(width / 32);
return {
size: size,
weight: 600
};
},
offset: 4,
padding: 0,
formatter: function(value) {
return Math.round(value * 10) / 10
}
}
}
}
});