我正在使用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()
函数时,数据消失了。我已在代码中评论过这种情况。知道如何解决这个问题吗?
答案 0 :(得分:1)
您可以尝试使用JSON回调函数中的数据填充图形,当您将data2对象传递给图形函数时,它可能尚未填充。