【发布时间】:2018-09-17 22:03:47
【问题描述】:
我正在尝试制作一个使用 Chart.js(ver2.7) 和 ajax 绘制折线图的简单程序。
该程序是当用户点击按钮时,它可以从保存在数据库中的新数据中获取新的数据,然后实时将图表中的标签和数据一一推进。
我明白我写的如下,但是我尝试了很多次在函数里面写什么,但我无法实现它。
$("#id").click(function() {
});
目前,我可以在实现上述功能之前正确显示图表。
$( document ).ready(function() {
var endpoint ='/api/chart/data';
var defaultData = [];
var labels = [];
$.ajax({
method: "GET",
url: endpoint,
success: function (data) {
labels = data.labels;
defaultData = data.defaults;
setChart();
},
error: function (error_data) {
console.log("error");
console.log(error_data)
}
});
function setChart() {
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: labels,
datasets: [{
label: '# of medals',
data: defaultData,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
...etc
],
borderColor: [
'rgba(255,99,132,1)',
...etc
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
}
graph.html
<div class="col-sm-6">
<canvas id="myChart" width="400" height="400"></canvas>
</div>
这应该如何实现?
【问题讨论】:
标签: javascript jquery ajax django chart.js