定期更新谷歌图表

fst*_*104 6 javascript google-visualization

我目前在我的网页上显示一个静态谷歌图表,并想知道是否有定期更新它的方法?即每20秒加一个点?

我似乎无法找到任何相关信息.请看下面的代码

  function drawAltitudeChart(){

          var graph = [];
          downloadUrl("Map.php", function (data){
              var xml = data.responseXML;
              var markers =     xml.documentElement.getElementsByTagName("marker");
              var dataTable = new google.visualization.DataTable();
              var options = {title:'Altitude (m above sea level)', 
                  curveType:'function', 
                  legend:{position:'bottom'},
                  is3d:true     
              };
              var chart;

              for(var i = 0; i<markers.length; i++){
                  graph[i] = ['', parseInt(markers[i].getAttribute("alt"))];   
              }

              dataTable.addColumn('string', 'id');
              dataTable.addColumn('number', 'Altitude');
              dataTable.addRows(graph);


              chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
              chart.draw(dataTable, options); 

          });
      }
Run Code Online (Sandbox Code Playgroud)

fst*_*104 1

每 x 秒添加一个新点...

for(var i = 0; i<markers.length; i++) {
    graph[i] = ['', parseInt(markers[i].getAttribute("alt"))];
}

var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
dataTable.addColumn('string', 'id');
dataTable.addColumn('number', 'Altitude');

var array = [];
for(var i = 0; i<graph.length; i++) {
    console.log('in loop');
    setTimeout(function(y) {
        array.push(graph[y]);
        dataTable.addRows(a);              
        chart.draw(dataTable, options); 
        array = [];
     }, i*5000, i);
}
Run Code Online (Sandbox Code Playgroud)