私は、MTDとYTDデータを切り替えることができる円グラフを持っています。ページが読み込まれるときにグラフが正常に読み込まれます。私はAJAX経由でMTDからYTDにデータを変更するのが難しいです。chart.js 2.3動的に円グラフデータを読み込む
私はこれについて多くの投稿を見てきましたが、私が見つけたものは、古いバージョンのchart.js 1.0.1です。
最新のバージョンchart.js 2.3を使いたいです。ここでコードはどんな助けにも大変感謝しています。
HTML:
<div class="chart-responsive">
<canvas id="myPieChart" />
</div>
JAVASCRIPT:
var pieconfig = {
type: 'doughnut',
data: {
datasets: [{
data: [<cfoutput>#valueList(myPieData.totalAmt)#</cfoutput>], // the returned data looks like this (1254.52,223.50,etc.)
backgroundColor: [
"#F7464A",
"#46BFBD",
"#FDB45C",
"#949FB1",
"#4D5360",
"#60A2C9",
"#00A65A",
"#D2D6DE",
"#4D5360",
"#00C0EF"
],
label: 'Dataset 1'
}],
labels: [
<cfoutput>#ListQualify(valueList(myPieData.busUnit), "'", ",")#</cfoutput> // the returned label looks like this ('Joe','Jim',etc.)
]
},
options: {
responsive: true,
legend: {
position: 'right',
},
title: {
display: false,
text: 'Chart.js Doughnut Chart'
},
animation: {
animateScale: true,
animateRotate: true
}
}
};
window.onload = function() {
var ctx = document.getElementById("myPieChart").getContext("2d");
myDoughnut = new Chart(ctx, pieconfig);
};
上記のコードは、ページのロード時に正常に動作します。以下は私の円グラフのデータを更新するコードです。
$.ajax({
type: "POST",
url: "/main/piechartdata/",
data: {'workList':'sale','rtype':$rType},
dataType: "json",
success: function(rData) {
console.log(rData.labels);
locData = {
type: 'doughnut',
data: {
datasets: [{
data: rData.datapoint // return data looks like this: 4469.37,2455153.58,672038.48,83.27,58821.22,36606.71
backgroundColor: [
"#F7464A",
"#46BFBD",
"#FDB45C",
"#949FB1",
"#4D5360",
"#60A2C9",
"#00A65A",
"#D2D6DE",
"#4D5360",
"#00C0EF"
backgroundColor: [
"#F7464A",
"#46BFBD",
"#FDB45C",
"#949FB1",
"#4D5360",
"#60A2C9",
"#00A65A",
"#D2D6DE",
"#4D5360",
"#00C0EF"
],
label: 'Dataset 1'
}],
labels: rData.labels //return data looks like this: 'CBS','CFM','CIA','Millennium','OTHER','Thrifty'
},
options: {
responsive: true,
legend: {
position: 'right',
},
title: {
display: false,
text: 'Chart.js Doughnut Chart'
},
animation: {
animateScale: true,
animateRotate: true
}
}
};
var ctx = document.getElementById("myPieChart").getContext("2d");
myDoughnut = new Chart(ctx, locData);
}
});
これは私の最近失敗した試みでした。あなたの助けを前にありがとう!
ご回答ありがとうございます。私は円グラフを使用してこの問題を解決しようとしています。私はそれがどのように進むのかを知らせます。 – user752746
あなたのコードサンプルは素晴らしいですが、グラフの種類を切り替える方法を示しています。申し訳ありませんが、私が何を明確にしようとしているのか説明していない場合。私はデータを置き換えようとしています。たとえば、2016年のデータ表示があり、2015年のデータをロードしたいと言っています。 – user752746
@ user752746:これは同じロジックです。すなわち、2015データのグラフを破棄し、2016データの新しいグラフを作成する必要があります。これを更新することもできますが、ペンは単なる一般的な例ですその使用の。 – Keno