ボウリングの紆余曲折がまた少し進化。

久しぶりにpChartを使って、「トータルスコアを確認する」の画面で“アベレージの推移”を描画することができた。

基本的には「pChartを導入してみよう。」と同じだが、前回はcsvファイルからデータをインポートしていたのに対し、今回はmySQLのデータからphpで計算した値を配列に格納し、その配列を使ってグラフを描画した。

今回のポイントは簡単に2つ。

一つ目は、Y軸の目盛の設定。

$ave_max = max($day_ave);
$max = ceil($ave_max / 10) * 10;
$ave_min = min($day_ave);
$min = floor($ave_min / 10) * 10;
$divisions = ($max - $min) / 10;

$Test->setFixedScale($min,$max,$divisions);

日別アベレージの最大値と最小値を取得して、それぞれを1の位で切り上げ、切り下げしたものをy軸の目盛の上限・下限にしたいのだが、1の位で切り上げ(切り下げ)をする関数が存在しないため、一度10で割り、ceil()関数で小数点以下を切り上げ(floor()関数で切り下げ)したのち、再び10をかけて上限・下限を計算した。

二つ目は閾値(しきいち)の設定。トータルアベレージ+5点を目標値と設定し、phpで以下のように計算した。

$terget = round($average) + 5;
$Test->drawTreshold($terget,143,55,72,TRUE,TRUE);

書くことはこれくらいかな?

今回お勉強になったのは、ceil()関数とfloor()関数の使い方。

忘れないようにしよう。

寝ます。