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 変数で簡単に機能するはずです。ただし、何も描画されません。私は何か間違ったことをしていますか?