ajaxPost(action, "getData", params, function(data) {
var response = toObject(data).response;
var chartData = new google.visualization.DataTable();
var array = [];
for(var i = 0; i < response.occData.length; i++){
var data = [];
for(var j = 1; j < 32; j++){
array.push(response.occData[i].dayList[j]);
}
chartData.addColumn("string",array);
}
new google.visualization.LineChart(document.getElementById('chart_div')).
draw(chartData, {vAxes:[
{title: 'Title 1', titleTextStyle: {color: '#FF0000'}}, // Left axis
{title: 'Title 2', titleTextStyle: {color: '#FF0000'}} // Right axis
],series:[
{targetAxisIndex:1},
{targetAxisIndex:0}
],curveType: "function",width: 700, height: 240});
$("#" + "chart_div").fadeIn(2000);
});
我使用上面的代码绘制折线图!但是没有绘制图表并且没有数据。我使用了ajax响应,数据也被传递了。没有萤火虫错误,以下是响应。请帮我!
{"response": {"status":true , "occData":[{"dayList":{1:9.0,2:6.0,3:4.0,4:4.0,5:3.0,6:3.0,7:3.0,8:3.0,9:3.0,10:7.0,11:7.0,12:6.0,13:4.0,14:4.0,15:4.0,16:4.0,17:3.0,18:3.0,19:4.0,20:6.0,21:7.0,22:6.0,23:7.0,24:6.0,25:5.0,26:8.0,27:9.0,28:7.0,29:8.0,30:8.0,31:5.0},"hotelCode":"BBH","month":"May","monthStartDate":"May-2012","orderSeq":11,"reservationRowType":"REV_OCC_PER","total":5.4,"year":"2012"},{"dayList":{1:52368.0,2:87239.0,3:126683.0,4:126683.0,5:147851.0,6:147851.0,7:147851.0,8:147851.0,9:147851.0,10:72566.0,11:66706.0,12:87915.0,13:110090.0,14:110090.0,15:110090.0,16:110090.0,17:147851.0,18:147851.0,19:126729.0,20:104461.0,21:95655.0,22:104562.0,23:88476.0,24:100402.0,25:111558.0,26:65367.0,27:61136.0,28:75780.0,29:70367.0,30:70367.0,31:111558.0},"hotelCode":"BBH","month":"May","monthStartDate":"May-2012","orderSeq":13,"reservationRowType":"ARR","total":96370.0,"year":"2012"}]}}
答案 0 :(得分:0)
您没有创建DataTable object,而是在创建数组。
您需要首先使用以下代码创建DataTable object:
var data = new google.visualization.DataTable();
在您创建DataTable后,假设您的array
包含可由Google Visualization解析的格式,您需要使用以下方法之一传递它:
for
圈data.addColumn
和data.addRow
for
data.setValue
循环
google.visualization.arrayToDataTable()
目前您没有这些,因此Google没有DataTable传递给图表。