首页 > 解决方案 > Google 条形图 data.push 不是函数

问题描述

我试图将数组暗示到存储小时、value1 和 value2 的数据表中。数组的长度是 24。所以,我需要使用循环,但我不知道我在哪里弄错了?这是将数据从数组插入数据表的真正逻辑吗?

function drawChart() {
    var data = google.visualization.arrayToDataTable([
        ['Hours', 'Value1 Page Load Seconds', 'Value2 Page Load Seconds'] ]);



    for (var i=0; i<pageload.length;i++){
        data.push([pageload[i][0], pageload[i][1], pageload[i][2]]);
    }




    var options = {

        chart: {



            title: 'Hourly Page Load Times',

        },

            legend: { position: 'right' },
            axes: {
                x: {
                    0: { side: 'bottom', label: 'Hours'} // Top x-axis.
                }
            },
            bar: { groupWidth: "90%" },
            backgroundColor: {fill: 'transparent'},
            chartArea: {
                backgroundColor: 'transparent'

            }






    };

    var chart = new google.charts.Bar(document.getElementById('chart'));

    chart.draw(data, google.charts.Bar.convertOptions(options));
}

标签: javascriptchartsgoogle-visualizationbar-chart

解决方案


不建议arrayToDataTable在没有所有数据的情况下使用。
因为它根据数据确定列类型。

相反,从一个数组开始。

var data = [
    ['Hours', 'Value1 Page Load Seconds', 'Value2 Page Load Seconds']
];

for (var i=0; i<pageload.length;i++){
    data.push([pageload[i][0], pageload[i][1], pageload[i][2]]);
}

var data = google.visualization.arrayToDataTable(data);

推荐阅读