Chart.js悬停在切片上获取NaN百分比

时间:2017-08-04 05:32:11

标签: javascript charts chart.js

在使用chart.js悬停时,尝试显示切片的百分比时遇到了一些麻烦。我悬停在这里的部分:

var options = {
            responsive: true,
            // show percentage of slice when hover
            tooltips: {
            callbacks: {
                label: function(tooltipItem, data) {
                    var allData = data.datasets[tooltipItem.datasetIndex].data;
                    var tooltipLabel = data.labels[tooltipItem.index];
                    var tooltipData = allData[tooltipItem.index];
                    var total = 0;
                    for (var i in allData) {
                        total += allData[i];
                    }
                    var tooltipPercentage = Math.round((tooltipData / total) * 100);
                    return tooltipLabel + ': $ ' + tooltipData + ' (' + tooltipPercentage + '%)';
                }
            }
            }
        };

我能够如此绘制图表:

值正确。就在我徘徊时,百分比正在回归我,NaN。有任何想法吗?

先谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

var options = {
        responsive: true,
        // show percentage of slice when hover
        tooltips: {
        callbacks: {
            label: function(tooltipItem, data) {
                var allData = data.datasets[tooltipItem.datasetIndex].data;
                var tooltipLabel = data.labels[tooltipItem.index];
                var tooltipData = allData[tooltipItem.index];
                var total = 0;
                for (var i=0; i<allData.length; i++) {
                    total += allData[i];
                }
                var tooltipPercentage = Math.round((tooltipData / total) * 100);
                return tooltipLabel + ': $ ' + tooltipData + ' (' + tooltipPercentage + '%)';
            }
        }
        }
    };