2011-07-22 7 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

関連する問題