Chart.js:从画布获取图表数据

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

我有几个Chart.js图表​​,以后可能需要更新。

是否可以在需要更新图表时从canvas元素中提取myChart对象?还是我必须在全局范围内保存每个myChart对象?

for(var i=1; i<=5; i++) {
  createChart(i);
}

function createChart(i) {
  var $chart = $('<canvas id="chart-' + i + '" width="400" height="400"></canvas>').appendTo('body');
  var myChart = new Chart($chart, {
    data: {
      datasets: [{
          data: [Math.random(), Math.random(), Math.random(), Math.random()]
      }]
    }
  });
}

现在有一些伪代码,我希望以后如何更新图表2:

var updateChart = $('#chart-2'); // This is where I'd need to get the chart data from the canvas element

updateChart.data.datasets[0].data = updateChart.data.datasets[0].data.push(Math.random());

updateChart.update();
javascript chart.js
1个回答
0
投票

我建议将发送到图表的所有数据存储在数组中。阵列更新后,您可以发送:

HTTP / AJAX / SOCKET.IO

指示客户,并更新图表。

© www.soinside.com 2019 - 2024. All rights reserved.