2015-04-08 96 views
1

我有一個餅,我想每3秒添加動態更新從MySQL data.php.I需要添加事件.ready(function()? 任何幫助將不勝感激。Highcharts動態更新餅圖mysql

  $(document).ready(function() { 
     var options = { 
      chart: { 
       renderTo: 'container', 
       plotBackgroundColor: null, 
       plotBorderWidth: null, 
       plotShadow: false, 
       backgroundColor:'rgba(255, 255, 255, 0.0)' 
      }, 
      title: { 
       text: 'Grafic' 
      }, 
      tooltip: { 
       formatter: function() { 
       return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %'; 
       },}, 
      credits: { 
      enabled: false 
      }, 
      plotOptions: { 
       pie: { 
        allowPointSelect: true, 
        cursor: 'pointer', 
        dataLabels: { 
         enabled: true, 
         color: '#000000', 
         connectorColor: '#000000', 
         formatter: function() { 
          return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(4) +' %';}}}}, 
      series: [{ 
       type: 'pie', 
       data: []}]} 
     $.getJSON("data.php", function(json) { 
      options.series[0].data = json; 
      chart = new Highcharts.Chart(options); 
     }); 
    }); 
+0

幾年前的帖子可能會有幫助。 [動態數據系列爲高圖表] [1] [1]:http://stackoverflow.com/questions/10682484/adding-dynamic-data-series-to-high-charts/10693975#10693975 –

+0

您需要像[這裏](http://www.highcharts.com/demo/dynamic-update)那樣捕獲加載事件,調用ajax並使用[point.update](http://api.highcharts .com/highcharts#Point.update)來操縱價值。 –

回答

1

http://www.w3schools.com/js/js_timing.asp

你可能會想使用 「的setInterval」。

您可能還需要建立一個遞歸回調於是更新highcharts每次。

如果您有任何疑問,請告訴我。

UPDATE 2016年9月29日

這裏是另一種方式,在jQuery的遞歸的setTimeout,如果它幫助。

(function($){ 

    $(function(){ //document.ready 

    }); 

    (function recurseEvent(element){ 

      element.doStuff(); 

      setTimeout(function(){ 
       recurseEvent(element); 
      }, 2000); 

    })($('#myElement')); 

})(jQuery);`