2014-05-05 82 views
2

我試圖用服務中的新信息更新現有的highcharts柱形圖。我正在嘗試通過在系列中使用setdata方法來完成此操作,但是系列中的「未定義」。我對這種類型的編程非常陌生,所以我不理解我做錯了什麼。 任何幫助將不勝感激。 我的代碼如下:試圖動態更新Highchart柱形圖,但系列未定義

$('#chart22').highcharts({ 
    colors: ['#FBB369', '#7798BF'], 
chart: { 
    type: 'column' 
}, 
title: { 
    text: 'Some Data' 
}, 
xAxis: { 
    categories: ['Cat1', 'Cat2'] 

}, 
yAxis: { 
    title: { 
     text: 'Amount' 
    }, 
    labels: { 
     formatter: function() { 
      return this.value/1000000000 +'B'; 
     } 
    } 
}, 
credits: { 
    enabled: false 
}, 
exporting: { 
    enabled: false 
}, 
series: [{ 
    name: 'Amount', 
    data: [-3450000000.25, 3670000000.35] 

    }] 
}); 


setInterval(function() { getData(); }, 30000); 


function getData(){ 

    console.log("retrieving data from server "); 
    var url = "http://localhost/someserver call"; 

    $.getJSON (url, function (Data44) { 
     var data = data44; //we are good here 

     // update the series data 

     chart22.series[0].setData(data); 
     chart22.series.setData(data); //both give the error that series is undefined ???? 

    }); 
} 

回答

3

您還沒有創建的變量chart22所以一點也不奇怪,性是不確定的。

試試這個

var timerId = setInterval(function() { 
    console.log("retrieving data from server "); 
    var url = "http://localhost/someserver call"; 

    $.getJSON(url, function(data) { 
     $('#chart22').highcharts().series[0].setData(data); 
    }); 
}, 30000); 

JSFiddle demoSeries.setData應該表現出你到底要做什麼。

+0

非常感謝。這解決了這個問題。 – user3602833