Chart.js使用变量动态更新数据

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

我正在尝试使用变量作为数据(使用Ajax响应获取)来更新我的Chart(chart.js)。

正在工作-手动添加$data时(不是作为变量)

    $.ajax({
        type: "POST",
        url: "getCountryData.php",
        data: {url: url},
        success: function(data){

            casesChart.data.datasets[0].data = ['0','0','0','0','0','0','0','0','0','2','2','2','2','2','2','2','3','3','3','3','3','3','3','3','3','3','3','3','3','3','20','62','155','229','322','453','655','888','1128','1694','2036','2502','3089','3858','4636','5883','7375','9172','10149','12462','12462','17660','21157','24747','27980','31506','35713','41035','47021','53578','59138','63927','69176','74386','80589','86498','92472','97689','101739','105792','110574'];;

            casesChart.update();
        }

    })

working version

但是,当我从PHP ajax响应中使用我的data变量时,结果完全不同,但是格式完全相同。

不工作Live code

       $.ajax({
        type: "POST",
        url: "getCountryData.php",
        data: {url: url},
        success: function(data){

            console.log(data)
            casesChart.data.datasets[0].data = data    
            casesChart.update();
        }  
    })

Contents of my data variablenot working chart

在正确方向上的任何建议或指导都会很棒,这对我来说是迷路!

php ajax chart.js
1个回答
0
投票

在更新后的图表中看到的只是新数据的第一个值。

casesChart.data.datasets[0].data = data 

似乎数据和标签不同步。您可能还需要更新labels。它们的数量应与data中包含的值的数量相同。

casesChart.data.labels = <new labels>
© www.soinside.com 2019 - 2024. All rights reserved.