Какой самый простой способ добавить процентные значения к надписям легенды?
Я полагаю, что он будет использовать generateLabels: function (chart) {}, кто-нибудь может привести чистый пример?
Кажется, что нет никакого собственного способа показать проценты, но довольно просто рассчитать и установить их в качестве меток:
const data = [1, 2, 3], // ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce total = data.reduce((accumulator, currentValue) => accumulator + currentValue), // ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map labels = data.map(value => Math.round((value / total) * 100) + '%'); new Chart(document.getElementById('chart'), { type: 'doughnut', data: { labels: labels, datasets: [{ data: data }] } });
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script> <canvas id="chart" height="75"></canvas>
(Примечание: использование Math.round() может привести к тому, что определенные наборы чисел не будут равны 100% при суммировании.)
Math.round()