如何使用新数据更新chart.js图表 ?

问题描述 投票:0回答:1

嗨,我在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

但是可惜没有用!

我认为这可能是单线的,但我无法弄清楚。还有其他类似的问题,但它们似乎是在处理附加数据并将其动画化,这是全新的数据。

javascript jquery ajax chart.js
1个回答
0
投票

更新数据集

  newChart.data.datasets[0].data=//your data coming from  service

然后

 newChart.update();
© www.soinside.com 2019 - 2024. All rights reserved.