stackBarのすべての値の合計を取得し、この合計をツールチップに含めようとしています。stackBar ChartJsの合計値の合計を取得する方法
注:私のデータセットが静的ではありません、これは今
total
は、データセットごとに合計であり、私はstackedBarあたりの合計を必要とする例
var barChartData = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
label: 'Corporation 1',
backgroundColor: "rgba(220,220,220,0.5)",
data: [50, 40, 23, 45, 67, 78, 23]
}, {
label: 'Corporation 2',
backgroundColor: "rgba(151,187,205,0.5)",
data: [50, 40, 78, 23, 23, 45, 67]
}, {
label: 'Corporation 3',
backgroundColor: "rgba(151,187,205,0.5)",
data: [50, 67, 78, 23, 40, 23, 55]
}]
};
window.onload = function() {
var ctx = document.getElementById("canvas").getContext("2d");
window.myBar = new Chart(ctx, {
type: 'bar',
data: barChartData,
options: {
title:{
display:true,
text:"Chart.js Bar Chart - Stacked"
},
tooltips: {
mode: 'label',
callbacks: {
label: function(tooltipItem, data) {
var corporation = data.datasets[tooltipItem.datasetIndex].label;
var valor = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
var total = eval(data.datasets[tooltipItem.datasetIndex].data.join("+"));
return total+"--"+ corporation +": $" + valor.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');
}
}
},
responsive: true,
scales: {
xAxes: [{
stacked: true,
}],
yAxes: [{
stacked: true
}]
}
}
});
};
です。
例
ラベルA:値
ラベルB:値B
レーベルC:値C
TOTAL:値A +値B +値C
その合計値を得ることは可能ですか?
ありがとう、Idalia。
おかげでそんなに@Tektiv:正しい合計値を計算するには、あなたがparseFloatはステートメントを追加する必要があり、私はchart.jsのバージョン間problenを持っていたので、私はチャートに変更しました。 js 2.2.1し、うまくいきました、もう一度ありがとう! – Idalia
その凡例を隠すことは可能ですか? – Haider
@Haider確かに!凡例のオプションに 'display:false'を追加するだけです(このように)(https://jsfiddle.net/uqws6e8r/15/) – tektiv