У меня есть круговая диаграмма с несколькими кольцами и я создал функцию пользовательских всплывающих подсказок с кодом ниже:
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];
}
}
Ожидается, что вышеупомянутая функция покажет все значения меток с итоговой суммой в нижней части PieChart, но она показывает только отдельные значения из первого набора данных и отдельные значения + итого из второго набора данных.
Отдельные отметки отображаются как неопределенные.
Вот JSfille https://jsfiddle.net/kingBethal/x03w2qbk/40/