円グラフの数を凡例に入れるには助けが必要です
マウスでチャートにカーソルを合わせると、各アイテムに関連する数字が表示されます
凡例に表示したい
これまでの重要なコード:
var tempData = {
labels: Status,
datasets: [
{
label: "Status",
data: Qtd,
backgroundColor: randColor
},
]
};
var ctx = $("#pieStatus").get(0).getContext("2d");
var chartInstance = new Chart(ctx, {
type: 'pie',
data: tempData,
options: {
title: {
display: true,
fontsize: 14,
text: 'Total de Pedidos por Situação'
},
legend: {
display: true,
position: 'bottom',
},
responsive: false
}
});
「Qtd」、「randColor」はすでに値を持つ「var」です
ユーザーが100以上のデータセットから選択できるようにしたかったのですが、自分のChartからデータセットを追加/削除するのではなく、showLine: false
隠したいデータセットで。残念ながら、デフォルトのlegendでは100+がすべて表示されます。したがって、私のソリューションでは、凡例を手動で生成し、showLine: false
。
設定には次のものがあります。
legend: {
labels: {
generateLabels: (a) => {
return a.data.labels
}
}
そして、ヘルパー関数を使用して独自のラベルを生成します。
function updateAllLabels() {
const myNewLabels = [];
myChart.data.datasets.forEach((element) => {
if (element.showLine) {
myNewLabels.Push(generateLabel(element));
}
});
myChart.data.labels = myNewLabels;
}
そして、別の関数でラベルを生成します:
function generateLabel(data) {
return {
fillStyle: data.borderColor,
lineWidth: 1,
strokeStyle: data.borderColor,
text: data.countyName, // I attach countryName to my datasets for convenience
}
}
チャートを更新するたびに関数を呼び出すことを忘れないでください:
updateAllLabels();
myChart.update();
幸せなグラフ作成!