API と JSON を使用して Google 折れ線グラフを作成しようとしています。
ハードコーディングされたこのチャートは次のように機能します。
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Sales'],
['Jun 25', 12.25],
['Jun 26', 8.00],
['Jun 27', 20.50]
['Jun 28', 12.75]
]);
var options = {
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
ただし、JSON を使用して入力しようとすると、これを機能させることができません。
<?php
$data = array();
$data["Date"] = "Sales";
$data["Jun 25"] = "12.25";
$data["Jun 26"] = "8.00";
$data["Jun 27"] = "20.50";
$data["Jun 28"] = "12.75";
$data = json_encode($data);
?>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable(<?php echo $data; ?>);
var options = {
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
私は明らかに配列を正しくエンコードしていません。Google には、チャートに JSON データを入力する方法に関するサンプル ページがあります: https://developers.google.com/chart/interactive/docs/php_example
ただし、このような単純な折れ線グラフを使用して JSON データをセットアップする方法の例は見つかりませんでした。