【发布时间】:2018-08-24 18:33:53
【问题描述】:
我有一个带有多个环的饼图,并使用以下代码创建了一个自定义工具提示函数:
function tooltipWithTotalP(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var values = data.datasets[tooltipItem.datasetIndex].data;
var value = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
var total = 0;
for (var i in values) {
total += values[i];
}
var percentage = Math.round((value / total) * 100);
var totally = total.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
if (tooltipItem.datasetIndex !== data.datasets.length - 1) {
return label + " : " + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + ' (' + percentage + '%)';
} else {
return [label + " : " + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + ' (' + percentage + '%)', "Total : " + totally];
}
}
上述函数应显示饼图底部的所有标签值,但它仅显示来自第一个数据集的单个值和单个值 + 来自第二个数据集的总计。
个别标记显示为未定义。
这里是 JSfille https://jsfiddle.net/kingBethal/x03w2qbk/40/
【问题讨论】:
标签: javascript charts chart.js