charts - Chartjs 将百分比添加到饼图图例

标签 charts chart.js

向图例标签添加百分比值的最简单方法是什么?

我相信它会使用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%。)

关于charts - Chartjs 将百分比添加到饼图图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59681505/

相关文章:

javascript - 使用循环将国家/地区添加到 google.visualization.DataTable()

javascript - D3 : Create a grouped bar chart from json objects

javascript - Highcharts 极坐标图显示特定刻度季度的标签

ruby-on-rails - 使用 Wicked_PDF 渲染为 PDF 时 ChartKick 图表不显示

javascript - 在 donut 中心显示文本

javascript - Chartjs - 阻塞其他值的堆积条形图

chart.js - 如何在 Chart.js 中创建自定义对数轴

javascript - 如何使用 ChartJS 向下钻取图表?

javascript - Chart.js 在保持宽高比的同时更改窗口调整大小的高度

javascript - 如何重置 Chart.Js 的图表?