尝试动态更新Highchart柱形图但系列未定义

我正在尝试使用服务中的新信息更新现有的highcharts柱形图。 我试图通过在系列上使用setdata方法但在“undefined”中使用系列来实现此目的。 我对这种类型的编程很新,所以我不理解我做错了什么。 任何帮助将不胜感激。 我的代码如下:

$('#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 ???? }); } 

您尚未创建变量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); 

Series.setData的JSFiddle演示应该向您展示了要做的事情。