|
 |
 |
円グラフの生成
サンプルと機能
データ、色を記入して、動的に円グラフを作成します。
→ サンプル(グラフのみで、凡例は作成されません)

PHPは楽しいですか?
| 80 |
とても楽しい |
| 50 |
そこそこ楽しい |
| 30 |
普通 |
| 20 |
あまり楽しくない |
| 10 |
全く楽しくない |
|
出力する画像は、「PNG形式」または「Jpeg形式」になります。
サンプルスクリプト
緑の文字が変更箇所で、赤い文字が対応するPHPです。
<!-- -->内または//以下はコメントです。削除しても影響ありません。
必要な箇所をコピー&貼り付けして編集してください。
→ 読み込むファイル
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<IMG src="graph.php" width="200" height="200">
</BODY>
</HTML> |
→ graph.php
<?php header("Content-Type: image/png"); ?>
<?php
// 画像のサイズ
$im = imagecreate(200,200); // キャンパスの大きさ
$ix = 100; // 中心のx座標
$iy = 100; // 中心のy座標
$iw = 200; // 画像の横幅
$ih = 200; // 画像の縦幅
$rs = 270; // 開始角度(上:270)
// データ
$data[0] = 80;
$data[1] = 50;
$data[2] = 30;
$data[3] = 20;
$data[4] = 10;
// 色の定義(データの数だけ必要)
$white = imagecolorallocate($im,255,255,255);
$red = imagecolorallocate($im,255,0,0);
$yellow = imagecolorallocate($im,255,255,0);
$lime = imagecolorallocate($im,0,255,0);
$cyan = imagecolorallocate($im,0,255,255);
$blue = imagecolorallocate($im,0,0,255);
$cd = array($red,$yellow,$lime,$cyan,$blue);
// 合計値の計算
$length = count($data);
$m=0;
for($i=0; $i<=$length; $i++) {
$m += $data[$i];
}
// 画像の描画
for($i=0; $i<$length; $i++) {
$st = $rs;
$rs += $data[$i] / $m * 360;
if($rs >= 360) $rs -= 360;
imagefilledarc($im,$ix,$iy,$iw,$ih,$st,$rs,$cd[$i],4);
}
imagepng($im);
?> |
解説・注意点など
データの数と、色の数は同じにして下さい。
また、色を追加した場合は、
$cd = array($red,$yellow,$lime,$cyan,$blue);
にも追加してください。
Jpeg形式で出力するには、以下のように変更します。
最初の行:<?php header("Content-Type: image/jpeg"); ?>
最後の行:imagejpeg($im);
← PHP/データベースに戻る
|
 |
|