chart canvas js设置动态数组

chart canvas js set dynamic array

我收到 json,并尝试将动态数组设置为图表 canvasJS 的数据点,也许有人可以帮忙,

这是代码:

for(var i=0;i<cars.length; i++) {
    cars[i] =100 * (cars[i]/cars.length);
}

for(var j=0;j<cars.length; j++){
    dps.push({
        y: cars[j], label: models[j]
    });
}

以及我如何构建 canvasJS 图表的代码:

var chart = new CanvasJS.Chart("chartContainer", {
    animationEnabled: true,
    title: {
        text: "Sum of Cars"
    },
    data: [{
        type: "pie",
        startAngle: 240,
        yValueFormatString: "##0.00\"%\"",
        indexLabel: "{label} {y}",
        dataPoints: dps
    }]
});    

chart.render();

更新 dps 不会对 CanvasJS 图表选项产生任何影响。您将不得不 update the chart options 自己重新渲染图表。

for(var i = 0; i < data.length; i++) {
    chart.options.data[0].dataPoints.push(data[i]);
}

第二种方法是使用 set() method.

更新数据点
chart.data[0].set("dataPoints", data);

注意 在使用任何 set() 方法之前必须先渲染图表。

看看这些例子:

  1. Updating dataPoints using chart options.
  2. Updating dataPoints using set method.