Google Charts柱形图表示Object [object Array]在打开时没有方法'getColumnType'

时间:2013-07-16 13:41:44

标签: javascript google-visualization

当我打开包含Google Charts柱形图的以下HTML文档时,我在空白屏幕上收到以下错误:对象[object Array]没有方法'getColumnType'...我已尝试过发布的建议本网站上的类似问题,但我没有取得任何进展。有谁知道我做错了什么?

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>

    <title>Theme park prices</title>

<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<script type="text/javascript">
  google.load('visualization', '1', {packages: ['corechart']});
</script>

<script type="text/javascript">

        google.setOnLoadCallback(function(){

            var data = [['Year', 'Disney', 'SeaWorld', 'Universal'], ['2013', 95, 100, 102]];

            var options = 
            {
                title:"Theme Park Prices",
                width:600, 
                height:400,
                hAxis: {title: "Year"},
            };

            var chart = new google.visualization.ColumnChart(document.getElementById('priceChart'));

            function drawChart()
            {
                chart.draw(data, options);
            }

            drawChart();

        });

</script>

</head>

<body>

    <div id="priceChart" style="width: 600px; height: 400px;margin: 0 auto;"></div>

</body>

</html>

1 个答案:

答案 0 :(得分:1)

这是一个应该修复的模糊错误消息。但事实证明,解决方案很简单。 chart.draw()方法需要一个DataTable对象,而不仅仅是一个数组数组。所以你的数据分配应该是这样的:

       var data = google.visualization.arrayToDataTable(
         [['Year', 'Disney', 'SeaWorld', 'Universal'], ['2013', 95, 100, 102]]);