PHPlot グラフ表示
PHPlot 棒グラフファイル作成
PHPlot 棒グラフファイル phplot-bar.php を作成します。
作成ファイル内容は、
63Pear Village に戻り
左サイドナビ「PHPlot グラフ表示」の中の
PHPlot 棒グラフ PHP ファイル
から見てください。
まずは、PHPlot パッケ-ジを読み込みます。
require_once 'davefx/phplot/phplot/phplot.php';
次ぎに、表示するグラフのデ-タ値を定義します。
すなわち、2012~17年の3人 佐藤,鈴木,"田中 の成績を順に下記のように配列で設定し
$data[0] = array('2012年', 10, 42, 67);
$data[1] = array('2013年', 12, 45, 62);
$data[2] = array('2014年', 18, 52, 78);
$data[3] = array('2015年', 12, 31, 56);
$data[4] = array('2016年', 8, 38, 70);
$data[5] = array('2017年', 15, 40, 72);
その変化を棒グラフで表示しようとするものです。
よって、棒の名前も設定したいですね。
$legend = array("佐藤", "鈴木", "田中");
として、凡例のラベルも指定しましょう。
フォントの設定
グラフキャンバスのなかで使用するフォントを設定します。
日本語を使用したいので、日本語フォントを選びます。
C:\Windows\Fonts
の中にある日本語フォントはどれも
*****.ttc
でこれでは動かないようです。
そこで、フリ-の日本語フォントで、*.ttf のものを探して、これを利用します。
IPAフォント サイト
に行くと、2書体パック(IPAex明朝(Ver.003.01)、IPAexゴシック(Ver.003.01)) がありますので
これを利用します。
IPAex明朝もよいのですが、今回は IPAexゴシック(Ver.003.01)を使用します。
IPAexfont00301.zip(9.21MB)
をダウンロ-ドすることができますのでこれを解凍後 ipaexg.ttf を fonts フォルダに置きます。
XAMPP 環境で言うと phplot-bar.php を
C:\xampp\htdocs\plot_gra
\phplot-bar.php
のように置いていたとすると
C:\xampp\htdocs\plot_gra
\fonts\ipaexg.ttf
となります。
PHPlot グラフ描写
それでは、設定した値をグラフにしてみましょう。
- PHPlot オブジェクトを生成
$plot = new PHPlot(400,400);
横 400px × 縦 400px のグラフキャンパスができました。
ここに、png 書式でグラフ画像が作成されます。
- フォントパス指定
X軸表示に「月」の日本語を使用していますので、日本語の ttf フォントが必要です。
日本語フォントが置かれていくフォントパスを指定します。
$plot -> SetTTFPath (dirname(__FILE__).'/fonts');
dirname(__FILE__) は自身がいるディレクトリの絶対パスを返すPHP関数でしたね
。 $plot -> SetDefaultTTFont('ipaexg.ttf');
とすれば、日本語フォント設定は完了です。 - グラフのタイプを指定
グラフタイプ指定をしないと折線になってしまいます。 今回は棒グラフですので 'bars' を設定します。 $plot -> SetPlotType('bars'); ついでに、棒に影を付けましょう。 影を 2px とすれば $plot->SetShading(2); となります。
- 凡例表示
$plot -> SetLegend($legend); とすると棒の値が誰のものか表示することができます。
$legend 配列は、最初の方で定義しました。
ついでにグラフ全体を単純な長方形の枠で囲っておきましょう。
$plot -> SEtImageBorderType('plain'); - グラフ描写
キャンンパスにグラフデ-タを設定し
$plot -> SetDataValues($data);
出力命令
$plot -> DrawGraph();
を出せばグラフを見せることができるのですが、やっぱりできあがったグラフは保存しておきたいですね。
$plot -> SetIsInline(true);
SetIsInline はデフォルトは false です。
true にすることによって作成したグラフファイルを出力することが可能になります。
さらに
$plot -> SetOutputFile
(dirname(__FILE__).'/test-bar.png');
とし、自身がいるディレクトリに test-bar.png の名前で保存設定して
$plot->DrawGraph();
のようにすればグラフファイルを保存することができます。
そして、最後に、
print("<img src = 'test-bar.png'>");
として、WEB にグラフを表示すれば終わりです。
これで、PHPlot 棒グラフファイル作成は完了です。
ちなみに、できあがったグラフは以下のようになります。
引き続き、PHPlot 折線-棒グラフファイルを作成していきます。
長くなりましたのでここで一旦切りたいと思います。
PHPlot 折線-棒グラフファイル作成 に続く
単純な PHPlot ファイル作成 に戻る