2011-07-22 61 views
0

我正在使用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

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

+0

看起来像这样做。谢谢! – ZeroDivide