У меня есть круговая диаграмма, которая хочет иметь возможность переключаться между данными 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