データベースからレコードを取得した後に作成された配列があります。配列は次のようになります。
// $xyz array
Array
(
[f30] => Array
(
[December 2012] => 71
[November 2012] => 70
[October 2012] => 66
)
[f32] => Array
(
[December 2012] => 85
[November 2012] => 83
[October 2012] => 81
)
)
それが単一の折れ線グラフであれば、簡単にプロットできます。ただし、複数折れ線グラフをプロットしようとすると、多くの問題が発生します。以下は、データをプロットしようとしているコードです。
PHP
$table = array();
$table['cols'] = array(
array('label' => 'Month', 'type' => 'string')
);
$rows = array();
foreach($xyz as $form=>$hhh)
{
$table['cols'][] = array('label'=>$form, 'type'=>'number');
foreach($hhh as $mnth=>$pt)
{
$temp = array();
$temp[] = array('v' => (string) $mnth);
$temp[] = array('v' => (int) $pt);
$rows[] = array('c'=>$temp);
}
}
$table['rows'] = $rows;
$jsonTable = json_encode($table);
JS
<script type="text/javascript">
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(<?=$jsonTable?>);
var options = {
title: 'Some title',
is3D: 'true',
width: 800,
height: 600
};
var chart = new google.visualization.LineChart(document.getElementById('divID'));
chart.draw(data, options);
}
</script>
$temp
、$rows
および配列の位置を変更して、さまざまな順列と組み合わせを試しました$table['rows']
が、1 つのグラフに 2 つの線をプロットできないようです。私はおそらく配列の配置を台無しにしています。
私がなんとか得た最も近いものは、以下のようなものでした:
しかし、私の期待される出力は次のようなものです
f30
と と,のf31
代わりに移動し、,の代わりに移動Sales
Expenses
October
November
December
2004
2005
2006
2007