サイトマップ   お問い合わせ   このサイトについて   ホーム   
WEB制作支援
 HTMLリファレンス
 スタイルシート
 JavaScript
 PHP/データベース
WEBデザイン
 デザインテクニック
 素材集/テンプレート
 ウェブ配色の見本
 ユーザビリティ
WEB運営
 ウェブの開設と運営法
 アクセスアップの技
 アフィリエイト (WEB広告)
 ドメインとサーバー
特集・トピックス
 Web広告で収入を得る
 独自ドメインの利点
 使えるWeb作成ソフト
 Webデザイナーになるには
 SEOでアクセスアップ
 光ファイバーの導入
リンク集
 ウェブ作成リンク
 無料リンク
 オンラインソフトリンク
 ユーザーリンク
 ウェブコラム
 参考文献一覧
 サイトマップ
 このサイトについて
 お問い合わせ
 eWebホーム


Home >> PHP/データベース >> 円グラフの生成

円グラフの生成



サンプルと機能

データ、色を記入して、動的に円グラフを作成します。

サンプル(グラフのみで、凡例は作成されません)


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/データベースに戻る




 eWeb/ HTML/ スタイルシート/ Javaスクリプト/ PHP/ 素材集/ テクニック/ 配色/ ユーザビリティ/ 開設と運営/ アクセスアップ/ アフィリエイト/ ドメイン
Copyright(C) 2004. Aeu, Gundam, eWeb, PHP and Database. All rights reserved. - Home