レーダーチャートに引き続き、棒グラフも描きました。
インストールはレーダーチャートと同様です。
cakephp\app\controllers\pcharts_controller.php
require_once(APP. 'vendors/pChart/pChart/pData.class'); require_once(APP. 'vendors/pChart/pChart/pChart.class'); //******************************************************************************* // モジュール名 : 棒グラフの表示 //******************************************************************************* class PchartsController extends AppController { var $name = 'Pcharts'; var $uses = array('Profile'); /** * 棒グラフのサンプルを作成する * @note */ function bar(){ $id = 1; // グラフ番号 $p_id = 23; // 出席番号 $gtitle = "成績表"; // グラフ名 $title_a = array("国語","数学","科学","物理","歴史","英語"); // 項目 $num_a = array(98,84,100,63,27,57); // 各項目の値 // グラフの表示 $this->__pChartBar($id, $p_id, $gtitle, $title_a, $num_a); } /** * 棒グラフの表示関数 * @note * @param int $id 種別 * @param int $p_id プロフィールID * @param str $gtitle グラフタイトル * @param arr $title_a グラフ項目タイトル * @param arr $num_a 項目毎の値(上記の項目タイトル順) */ function __pChartBar($id,$p_id,$gtitle,$title_a,$num_a){ // Dataset definition $DataSet = new pData; // 項目毎の値を設定 $DataSet->AddPoint($num_a,"range1"); // グラフ項目タイトル設定 $DataSet->AddPoint($title_a, "Serie0"); // 全てのデータシリーズを追加する $DataSet->AddAllSeries(); // データセットを削除する $DataSet->RemoveSerie("Serie0"); // 横軸に使用するデータセット名を設定する $DataSet->SetAbsciseLabelSerie("Serie0"); // データセットに名称を設定する $DataSet->SetSerieName( "点", "range1"); // Initialise the graph // グラフの全体サイズを設定する。 $Test = new pChart(350,230); //デフォルトの色を変更する。 $Test->setColorPalette(0,79,129,189); //日本語用のフォント。 $Test->setFontProperties(APP. "vendors/pChart/Fonts/ipaexg.ttf",10); // グラフエリア $Test->setGraphArea(50,50,320,200); // 縦は10分割固定 $Test->setFixedScale(0, 100, 10); // 角の丸い塗りつぶされた四角形を描画する $Test->drawFilledRoundedRectangle(7,7,343,223,5,240,240,240); // 角が丸い線グラフを描画する $Test->drawRoundedRectangle(5,5,345,225,5,230,230,230); // グラフ領域の背景色を描画する $Test->drawGraphArea(255,255,255,TRUE); /* Draw the scale */ // 目盛りを描画する $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,0,0,0,TRUE,0,2,TRUE); // グリッドを描画する $Test->drawGrid(4,TRUE,230,230,230,50); // Draw the 0 line //日本語用のフォント。 $Test->setFontProperties(APP. "vendors/pChart/Fonts/ipaexg.ttf",10); // しきい値を描画する $Test->drawTreshold(0,143,55,72,TRUE,TRUE); // Draw the bar graph // 積み上げ棒グラフを描画する $Test->drawBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),TRUE,80); // 値を表示する $Test->writeValues($DataSet->GetData(),$DataSet->GetDataDescription(),"range1"); // Finish the graph //日本語用のフォント。 $Test->setFontProperties(APP. "vendors/pChart/Fonts/ipaexg.ttf",10); // グラフの凡例を描画する $Test->drawLegend(300,150,$DataSet->GetDataDescription(),255,255,255); //日本語用のフォント。 $Test->setFontProperties(APP. "vendors/pChart/Fonts/ipaexg.ttf",10); // グラフタイトルを表示する。 $Test->drawTitle(50,22,$gtitle,50,50,50,150); // グラフファイル名生成 $name = TMP."graph/"."bar_".$id."_".$p_id."_".dateFormat(date("Y/m/d H:i:s"),"YmdHis").".png"; // グラフをファイルに出力する $Test->Render($name); // ブラウザー上に表示 header("Content-type:image/png"); echo file_get_contents( $name ); return $name; }