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],  
    ]);

これは私には正しいように見えますが、Google アナリティクス (または JavaScript など) を使用するのはこれが初めてで、既存のグラフの例をかなり詳しく追っていたので、まったく正しくない可能性があります。これが機能しない理由はありますか?

乾杯

4

1 に答える 1

1

2 つの問題があります。

1 つ目は、データを定義していないことです。

Add the following line to your code:

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

The second is a silly syntax error:

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

Should be:

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

And with those, like magic, it works:

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 に答える