Charts chartjs向饼图图例添加百分比

Charts chartjs向饼图图例添加百分比,charts,chart.js,Charts,Chart.js,向图例标签添加百分比值的最简单方法是什么 我相信它会使用generateLabels:function(chart){},有人能提供一个清晰的例子吗?似乎没有任何本地方式来显示百分比,但计算并将其设置为标签非常简单: const data=[1,2,3], //参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce 总计=数据。减少((累加器,当前值)=>累

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


我相信它会使用generateLabels:function(chart){},有人能提供一个清晰的例子吗?

似乎没有任何本地方式来显示百分比,但计算并将其设置为标签非常简单:

const data=[1,2,3],
//参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
总计=数据。减少((累加器,当前值)=>累加器+当前值),
//参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
labels=data.map(value=>Math.round((value/total)*100)+'%');
新图表(document.getElementById(“图表”){
键入:“甜甜圈”,
数据:{
标签:标签,
数据集:[{
数据:数据
}]
}
});

如果您已经有一个图例数组,可以使用此代码将百分比添加到其中。这里i是数组中当前元素的索引


请提供当前用于绘制图表的代码好吗?还有一个你想增加的百分比值的例子?谢谢,这非常有效。我加上:constcats=['A','B','C'];labels=data.map(value=>cats[value-1]+''+Math.round((value/total)*100)+'%');这给了我类别和价值,这是我一直在寻找的。
data=[2,4,5,7];
legend=['A','B','C','D']
total = data.reduce((accumulator, currentValue) => parseInt(accumulator) + parseInt(currentValue));
labelsvalues = data.map(function(value,i){
let p= Math.round((value / total) * 100) + '%';
return legend[i]+' '+p;
});