Я использую линейную диаграмму chart.js со сложенными наборами данных.
При наведении курсора на одну точку данных она показывает только значение текущего набора данных.
Я добавил сумму (из этого и нижеприведенных наборов данных) рядом со значением.
Это прекрасно работает до тех пор, пока я не отменю выбор набора данных из легенды, потому что общая сумма не будет обновлена и будет игнорироваться скрытый набор данных.
Это код, отображающий значение набора данных иитого.
callbacks: {
label: function(tooltipItem, data) {
let total = 0;
let value = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
let stop = tooltipItem.datasetIndex+1;
for (let i = 0; i < stop; i++) {
total += data.datasets[i].data[tooltipItem.index];
}
total = Math.floor(total * 100) / 100;
return 'Value: ' + value + ' Total: ' + total;
}
}
Вы можете проверить это здесь https://jsfiddle.net/x1zycrh4/1/
Когда вы наводите курсор мыши на любую точку, вы видите значение и сумму рядом с ней.
Но когда вы отмените выбор, например, «Доступного» набора данных, общее количество всплывающей подсказки не будет обновлено.
Для этого я хотел бы игнорировать скрытые наборы данных из моей функции обратного вызова всплывающей подсказки, но я могуне похоже на доступ к data.datasets [tooltipItem.datasetIndex] .hidden '.