代码之家  ›  专栏  ›  技术社区  ›  Tonald Drump

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

  •  0
  • Tonald Drump  · 技术社区  · 5 年前

    我有几个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()]
          }]
        }
      });
    }
    

    下面是一些伪代码,稍后我将如何更新say chart 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();
    
    1 回复  |  直到 5 年前
        1
  •  1
  •   Anton    4 年前
    Chart.helpers.each(Chart.instances, function(instance){
        console.log(instance);
    });
    

    更新: https://jsfiddle.net/furd1L27/14/

        2
  •  0
  •   Yoni Harris    5 年前

    指示客户,并更新图表。