Javascript 从数据库更新Chartjs折线图

Javascript 从数据库更新Chartjs折线图,javascript,php,jquery,chart.js,Javascript,Php,Jquery,Chart.js,我有一个预先填充了服务器列表的下拉列表。当我选择一个并提交表单时,我可以从mysql数据库中检索最后12个cpu load avg值的数组 使用这些数据,我想更新下面的简单折线图: <div> <canvas id="cpuload" width="500" height="300"></canvas> </div> <script> $(function() { var cpudata = {

我有一个预先填充了服务器列表的下拉列表。当我选择一个并提交表单时,我可以从mysql数据库中检索最后12个cpu load avg值的数组

使用这些数据,我想更新下面的简单折线图:

<div> 
    <canvas id="cpuload" width="500" height="300"></canvas>
</div>

<script>

    $(function() {

        var cpudata = {

            labels: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", "t8", "t9", "t10", "t11"],
            datasets: [{

                fillColor : "rgba(3, 169, 244, 0.4)",
                strokeColor : "rgba(3, 169, 244, 1)",
                pointColor : "rgba(3, 169, 244, 1)",
                pointStrokeColor : "#fff",
                data : [6,2,5,7,9,25,12,5,6,7,17,9]

            }]  
        }

        var ctx = $("#cpuload").get(0).getContext("2d");
        var myChart = new Chart(ctx).Line(cpudata, {
            bezierCurve: false
        });


    });
我浏览了Chartjs文档,发现了一个.update函数,它只允许更新y值

我一直在试图找出在foreach循环中以某种方式访问结果数组值的最佳方法?并将它们分配给每个myChart.dataset[0]。points[i]。value,其中i=0-11,然后运行update,以便使用新值呈现图表


感谢您的指导,谢谢

至少对我来说是一个更直接的解决方案:

在draw_chart方法中或调用其他方法来绘制图表时:

if (typeof chart != 'undefined')
    chart.destroy();
销毁现有图表(如果有)

从那里,只需添加数据集并绘制它

此解决方案在1.x和2.0中都运行良好