Куда идут мои данные? - PullRequest
0 голосов
/ 22 июля 2011

Я пишу гистограмму, используя Google Chart Tool .

Вот мой код:

 function drawBar(){
    var data2 = new google.visualization.DataTable();
    data2.addColumn('string', 'Project');
    data2.addColumn('number', '2011 Fiscal Spending');
    data2.addRows(5);


    // Gather Data

    $.getJSON("/Organizations/TopFiveSpending",{orgName : "Office of Technology"},function(data){
        $(data).each(function(i,e){
                          //data2 is populating fine here when i debug
                          data2.setValue(i,0,e.ProjectName); 
                          data2.setValue(i,1,e.TotalFYSpending);          
            })
        });


    barGraph = new google.visualization.ColumnChart(document.getElementById('portfolio-total-spending'));

    var options = {width: 250, height: 190, legend: 'none',
                      hAxis: {title: 'Project', titleTextStyle: {color: 'red'}}
                     };
    //data2 has null data here
    barGraph.draw(data2,options);
    google.visualization.events.addListener(barGraph, 'onmouseover', function(e) {
    console.log('barGraph hover '+e['row']);
     table.setSelection([{row:e['row']}]);
    });


    }

Мой график никогда ничего не рисует, и я не получаю никаких ошибок в моей консоли. Когда я отлаживаю код, я не то, что data2 правильно заполняется данными. Однако при вызове функции barGraph.draw() данные исчезают. Я прокомментировал в коде, где это происходит. Есть идеи как это исправить?

1 Ответ

1 голос
/ 22 июля 2011

Вы можете попытаться заполнить свой график данными в функции обратного вызова JSON, возможно, что когда вы передаете объект data2 в функцию графика, он еще не был заполнен.

...