我正在使用chartJS来显示包含2个或3个数据集的数据。

我可以这样做,以便它不仅显示tooltipItem.yLabel,而且显示yLabel (dataset1/(dataset1+dataset2))总量的百分比吗?
我想将此值放在afterLabel中。

ChartJS选项代码:

tooltips : {

    callbacks : {

        label : function(tooltipItem, data) {
            return data.datasets[tooltipItem.datasetIndex].label + ': ' + tooltipItem.yLabel;
        },
        afterLabel : function(tooltipItem, data) {
            return dataset1/(dataset1+dataset2);
        },
    }
}

我的“Y”数据集是数字数组。
X数据集是日期数组。
我似乎无法弄清楚chart.min.js如何采用这些值。

最佳答案

我成功地完成了我想做的事情,谢谢@Kubilay Karpat给我带来了一个寻找所需值(value)的想法。我会+ rep您,但我还没有这样做。

afterLabel : function(tooltipItem, data) {
    var total = 0;
    total = parseInt(data.datasets[0].data[tooltipItem.index]) + parseInt(data.datasets[1].data[tooltipItem.index]);
    var percentage = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index] / total * 100;
    var percentage = percentage.toFixed(2);
    return percentage + " %";
},

09-20 06:58