嗨,我在chart.js中有一个图表,这是代码:
let myChart = document.getElementById('myChart').getContext('2d');
let newChart = new Chart(myChart, {
type: 'line',
data: {
labels: ['1', '2', '3', '4', '5', '6', '7' ],
datasets: [{
data: [
7.9,
8.2,
6.4,
9.8,
6.7,
8.1,
9.2
],
fill: false,
label: 'Time to complete'
}
]
},
options: {
title:{
display: true,
text: 'Time taken per sample'
}
}
});
这在我的浏览器中显示正常。
我想在按下按钮时动态更新数据,
我已经设置了此功能,以便在按下按钮时发送对新数据的请求,并以类似于{data: [...]}
的JSON形式取回。
我的问题是如何编写代码以使用新信息更新图表?
这里是我所拥有的:
$(".newData").click(function() {
request = $.ajax({
url: '/update_data',
type: "POST"
});
request.done(function(data){
// Need to update chart here!
});
});
我尝试过$('myChart').data=data
但是可惜没有用!
我认为这可能是单线的,但我无法弄清楚。还有其他类似的问题,但它们似乎是在处理附加数据并将其动画化,这是全新的数据。
更新数据集
newChart.data.datasets[0].data=//your data coming from service
然后
newChart.update();