1

这段代码旨在显示图表,但不会:

  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    data.addcColumn('string', 'Type');
    data.addColumn('number', 'Job Registration');
    data.addRows([
  <?php foreach ($chart_result as $result) {
            echo $result;
        }?>  
    ]);

    var options = {
      title: 'Job Registration by Type',
      hAxis: {title: '',  titleTextStyle: {color: 'red'}}
    };

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

当我提交表单并查看页面源时,这是 data.addRows 的结果:

data.addRows([
  [' Engineer',1],['Assistant',1],['Developer',4],[' Ninja!',1],['Web Application Developer',1],  
    ]);

这对我来说是正确的,但这是我第一次使用谷歌分析(或 JavaScript ......)并且我非常密切地关注现有图表的示例,所以它可能根本不正确。任何想法为什么这可能不起作用?

干杯

4

1 回答 1

1

你有两个问题。

首先是您没有定义数据。

将以下行添加到您的代码中:

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

第二个是愚蠢的语法错误:

data.addcColumn('string', 'Type');

应该:

data.addColumn('string', 'Type');

有了这些,就像魔法一样,它起作用了:

function drawVisualization() {
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Type');
  data.addColumn('number', 'Job Registration');
  data.addRows([
    [' Engineer',1],
    ['Assistant',1],
    ['Developer',4],
    [' Ninja!',1],
    ['Web Application Developer',1],  
  ]);

  var options = {
    title: 'Job Registration by Type',
    hAxis: {title: '',  titleTextStyle: {color: 'red'}}
  };

  var chart = new google.visualization.ColumnChart(document.getElementById('visualization'));
  chart.draw(data, options);
}
于 2013-03-28T05:02:33.407 回答