0

Google Visualization をインポートして折れ線グラフを描画する JavaScript ファイルがあります。

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


    var inputData =  [[1990,157894],[1991,173725],[1992,181227],[1993,183315]];

      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {        
      var data = new google.visualization.DataTable();
            data.addColumn('number', 'Year');
            data.addColumn('number', 'January');
            data.addRows(inputData);


        var options = {
          title: 'Unemployed Statistics'
        };

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

<?php

if (isset($_POST['submitted'])) {

グラフを描画する要素があります:

<div id="chart_div" style="width: 900px; height: 500px;"></div>

これはうまく機能し、グラフはこれでうまく描画されます。ただし、json 変数を var inputData に入れると、グラフが描画されません。次のようになります。

var inputData = <?php echo json_encode($json['unemployment'), JSON_NUMERIC_CHECK) ?>; 

なぜ何も描かれていないのですか?

フォームを送信した後、印刷ステートメントを実行して、内容を確認します<?php echo json_encode($json['unemployment') ?>。出力は [[1990,131337],[1991,160256],[1992,188129]] です。

この出力は、JavaScript コードの var inputData 変数で簡単に機能するはずです。ただし、何も描画されません。私は何か間違ったことをしていますか?

4

1 に答える 1