PHPでレーダーチャートを作成
PHPでレーダーチャートを作成する方法です。
ちょいとFlashの本がたまってきたのでせっかくなのでレーダーチャートでわかりやすく評価したいなぁってことで作成してみました。
PHPでのグラフ作成はJpGraphってのを使うとすごく簡単にグラフを作成(保存)することができます。
JpGraphのダウンロードはこちら
http://www.aditus.nu/jpgraph/jpdownload.php
実際の動作はこちら
http://moeten.info/flex/php/graph.php
PHPなソースはこちら
#ちなみに実用する場合はキャッシュなどを作成すると表示が早くなります。
<?php // 使用するグラフを読み込む include ("jpgraph/jpgraph.php"); include ("jpgraph/jpgraph_radar.php"); // 表のサイズ $graph = new RadarGraph(390,300,"auto"); $graph->img->SetAntiAliasing(); // バックカラー $graph->SetColor("white"); // グラフの最大数設定 lin, minpos, maxpos $graph->SetScale('lin',0,100); // グラフのメモリ (刻み、?) $graph->yscale->ticks->Set(20,5); // 軸の日本語化と色設定 $graph->axis->SetFont(FF_GOTHIC); $graph->axis->title->SetFont(FF_GOTHIC); $graph->axis->SetColor("#207870"); // 中心から放射状に伸びる線の太さ $graph->axis->SetWeight(1); // ラインの設定 $graph->grid->SetLineStyle("dotted"); $graph->grid->SetColor("gray"); $graph->grid->Show(); $graph->HideTickMarks(); //もしタイトル指定がない場合 if( ! is_array( $_GET["title"] ) ){ $title_a = array( "読みやすさ", "コスパ", "初心者", "数学", "デザイン", "サーバ", "ページ数" ); }else{ $title_a = $_GET['title']; } if( ! is_array( $_GET['num'] ) ){ $num_a = array( 10, 10, 10, 10, 10, 10, 10 ); }else{ $num_a = $_GET['num']; } foreach( $title_a as $key => $val ){ $jiku_a[] = mb_convert_encoding( urldecode( $val ) , "utf-8", "SJIS") . "({$num_a[$key]})"; } $graph->SetTitles( $jiku_a ); // Create the first radar plot $plot = new RadarPlot($num_a); $plot->SetLineWeight(1); $plot->SetColor("#ff0000","#ffccff"); // 描画 $graph->Add($plot); $graph->Stroke($name); $graph->Stroke(); exit; ?>