我的数据在哪里?

时间:2011-07-22 17:46:17

标签: javascript jquery google-visualization

我正在使用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 个答案:

答案 0 :(得分:1)

您可以尝试使用JSON回调函数中的数据填充图形,当您将data2对象传递给图形函数时,它可能尚未填充。