0

考虑以下代码:

google.load("visualization", "1", {
    packages: ["corechart"]
});
google.setOnLoadCallback(drawChart);

function drawChart() {
    var data = google.visualization.DataTable();
    data.addColumn('datetime', 'Time');
    data.addColumn('number', 'Leads');
    data.addRow([Date.parse("2013-08-17 10:12:18"), 0]);
    data.addRow([Date.parse("2013-08-17 09:13:42"), 14]);
    data.addRow([Date.parse("2013-08-17 10:00:05"), 15]);
    data.addRow([Date.parse("2013-08-17 11:12:18"), 3]);
    var options = {
        title: 'Company Performance',
        fontSize: '12px',
        curveType: 'function',
        pointSize: 5,
        hAxis: {
            title: 'Daily Report',
            titleTextStyle: {
                color: '#FF0000'
            }
        },
        vAxis: {
            title: 'Leads',
            titleTextStyle: {
                color: '#FF0000'
            }
        }
    };

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(data, options);
}

现在,上面的代码应该加载谷歌图表 api,定义一个DataTable& 生成一个 LineChart 图表,但它没有。相反,我在尝试添加列时出现以下错误

TypeError: data is undefined #at this line --> data.addColumn('datetime', 'Time')

谁能告诉我我错过了什么?

4

1 回答 1

2

new您在创建新对象时没有使用google.visualization.Datatable.

 function drawChart() {
    // var data = google.visualization.DataTable(); missed new keyword
    var data = new google.visualization.DataTable();
 //...
 }
于 2013-08-17T19:10:44.727 回答