今日はAndroidの続きの予定でしたが、
時間の都合でPHPでとても簡単なグラフを作成します。
PHPでグラフを作成する方法としては、JpGraphを使う方法とGoogle API Chartを
使う方法がありますが、今回はGoogle API Chartを使う方法です。
ひとつ簡単なサンプルを作ります。
<?php
// グラフタイトルの設定
$title = "グラフのテスト";
// グラフタイトルのエンコード
$title = rawurlencode($title);
// 棒の太さと間隔
$bar = "40,60,140";
// 背景色の設定(背景を灰色、グラフ領域は白)
$background = "bg,s,cccccc|c,s,ffffff";
// グラフの要素をセット
$datas = array(
"cht" => "bvs", // グラフタイプ:横棒
"chs" => "500x300", // グラフサイズ
"chds"=> "0,100", // Y軸
"chco"=> "ff0000", // 棒の色
"chxt" => "y", // 軸ラベル表示位置
"chd" => "t:20,50,85", // 値
"chtt"=> $title, // グラフタイトル
"chts" => "ffffff,18", // タイトル文字色、サイズ
"chbh" => $bar, // 棒の太さ、棒の間隔
"chf" => $background // 背景
);
// グラフのURIを作成
$graph = createUri($datas);
/* グラフのURIを組み立てる関数 */
function createUri($datas){
// Google Chart APIのアドレス
$uri = 'http://chart.apis.google.com/chart?';
// クエリの初期化
$query = "";
// クエリを作成
foreach($datas as $key => $val){
if( strcmp($query, "") != 0 ){
$query .= "&";
}
$query .= "$key=$val";
}
$uri .= $query;
return $uri;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equive="Content-Type" content="text/html; charset=UTF-8" />
<title>グラフ表示テスト</title>
</head>
<body>
グラフを表示します。<br />
<img src="<?= $graph ?>" alt="棒グラフです" />
</body>
</html>
プログラムを実行してみます。
グラフが表示されます。

createUriのメソッドは第47回でQRコードを生成した時と同じものを使ってい
ます。
ここのQRコードも同じGoogle Chart APIで作成したものでした。
グラフのタイプや設定を配列で設定して、createUriメソッドでパラメータを作り、
GoogleAPIのURLを呼び出して表示します。
ただ、細かい設定になるとかなりの工夫が必要で、意外と大変でした。
短いですが、今日はここまでです。














コメントする