0
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"}]}}
4

1 回答 1

0

您不是在创建DataTable 对象,而是在创建一个数组。

您需要先使用以下代码创建一个DataTable 对象:

var data = new google.visualization.DataTable();

创建 DataTable 后,假设您array包含能够被 Google 可视化解析的格式,您需要使用以下方法之一将其传递:

  1. 一个带有and的for循环data.addColumndata.addRow
  2. 一个for循环data.setValue
  3. google.visualization.arrayToDataTable()

目前你没有做这些,所以谷歌没有 DataTable 可以传递给图表。

于 2013-05-22T01:00:02.450 回答