2013年5月19日日曜日

[CakePHP][pChart]CakePHP で pChart を使う

app/vendors に pchat ディレクトリを作成し、その下に pCache.class, pChart.class, pData.class を配置する。ここで拡張子の class を php に変更することで pChart のモジュールが読み込めるようになる。
function exam_graph() {
 /* pChart を使用する */
 App::import('Vendor', 'pchart/pdata');
 App::import('Vendor', 'pchart/pchart');

 $font_path = "c:\Windows\Fonts\sazanami-gothic.ttf";

 /* Cache に保存された値を読み込む */
 $users = Cache::read('users');
 $total = Cache::read('total');

 Cache::delete('users');
 Cache::delete('total');

 $y1data = array();
 $a = array();

 foreach ($users as $user) {
  array_push($y1data, $user['Exam']['math']);
  array_push($a, $user['User']['username']);
 }

 $data = new pData;
 $data->AddPoint($y1data, "math");
 $data->AddPoint($a, "date");
 $data->AddSerie("math");
 $data->SetAbsciseLabelSerie("date");
 $data->SetSerieName("数学", "math");

 $chart = new pChart(700, 230);
 $chart->setFontProperties($font_path,8);
 $chart->setGraphArea(50, 30, 680, 200);
 $chart->drawScale($data->GetData(),$data->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);

 /* chart に data を配置しグラフを描く */
 /* 棒グラフの場合は drawBarGraph */
 $chart->drawBarGraph($data->GetData(), $data->GetDataDescription(), TRUE);

 /* 画像として出力する */
 $chart->Stroke();
}

0 件のコメント:

コメントを投稿