【问题标题】:Not a valid 2d array google chart不是有效的二维数组谷歌图表
【发布时间】:2013-08-08 02:03:21
【问题描述】:

我有当前代码尝试为谷歌图表构建二维数组。

但是我得到一个无效的二维数组错误。

我做错了什么?提前谢谢你

//Request data
        $.getJSON(api,function(data){

            //Init final array for data
            var finalData = [["SessionLength"]];

            //Iterate over results
            for (var key in data){

                //Get the key pair
                 var keyPair = [key, parseInt(data[key])];

                //Add to array
                 finalData.push(keyPair);
             }

            // Create the data table.
            var data = google.visualization.arrayToDataTable(finalData);

            // Set chart options
            var options = {'title':'Average session length',
                'width':400,
                'height':400};

            // Instantiate and draw our chart, passing in some options.
            var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
            chart.draw(data, options);
        });

这是 JSON

{"2013-8-5":"13.5","2013-7-29":"19.7","2013-8-4":"12.2","2013-8-3":"14.1","2013-8-2":"10.1","2013-7-31":"15.1","2013-7-30":"17.4","2013-8-6":"16.0","2013-8-1":"15.0"}

【问题讨论】:

    标签: javascript google-visualization


    【解决方案1】:

    您的 finalData 数组的第一个元素需要是一个 2 元素数组:

    var finalData = [['Date', 'SessionLength']];
    

    【讨论】:

      【解决方案2】:

      我认为你做错了二维数组初始化 你应该写

      var finalData = [];
      

      因为var finalData = [["SessionLength"]]; 正在创建一个具有单个元素为 ["SessionLength"] 的数组,它是一个元素数组,然后您正在添加具有 2 个元素的数组,所以实际上您会得到一个无效的二维数组,如下所示:

      [["SessionLength"], ["2013-8-5", "13.5"], ["2013-7-29","19.7"]...]
      

      【讨论】:

        猜你喜欢
        • 2014-07-29
        • 1970-01-01
        • 2016-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-25
        相关资源
        最近更新 更多