2014-05-05 3 views
2

Я пытаюсь обновить существующую диаграмму столбцов диаграммы с новыми данными из службы. Я пытаюсь сделать это, используя метод setdata в серии, но ряд в «undefined». Я очень новичок в этом типе программирования, поэтому у меня нет идеала, что я делаю неправильно. Любая помощь будет принята с благодарностью. Мой код ниже:пытается динамически обновлять диаграмму столбцов Highchart, но не определен 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 ???? 

    }); 
} 

ответ

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 demo для Series.setData должен был бы показать вам точно, что делать.

+0

спасибо. Это решило проблему. – user3602833

Смежные вопросы