PHPlot グラフ表示
PHPlot ロ-ソク足チャ-ト
PHPlot を利用してロ-ソク足チャ-トを作成していきます。
ロ-ソク足チャ-トがどの様なものかについては
ローソク足チャート
を参照してください。
江戸時代に出羽国の本間宗久という人が発案したらしいです。
よって「蝋燭足票」と呼ぶべきとは思うものの実際は「ロ-ソク足チャ-ト」と言われています。
なぜなのかはよく分かりません。
日本語が英語化してしまったようです。
基本的に連続、サイクル性のあるデ-タをグラフ化するのに大変適しています。
例えば、1日の気温変化は、午前5時頃に最低になり、午後2時頃に最高になります。
0時0分の気温を始値とし、23時59分の気温を終値とし、この間の最高気温と最低気温を高値、低値とすると
1本のロ-ソク足ができます。
基本的に、
当日の始値=前日の終値
となります。
これを毎日続けていくとローソク足チャートが完成します。
当日の終値が当日の始値(前日の終値)より
高く終わった時・・・赤色棒
低く終わった時・・・緑色棒
で表示し、一日の気温変化を縦線
縦線の最高値が午後2時頃の気温
縦線の最低値が午前5時頃の気温
で示すとこれが気温のローソク足チャートです。
今回はこれに毎日の 23時59分におけるの湿度の折線グラフを追記してみます。
でき上がるとこんな感じになります。
PHPlot ロ-ソク足チャ-ト ファイル作成
PHPlot ロ-ソク足チャ-ト ファイル phplot-candle-4.php を作成します。
なぜファイル名が -4 なのか、それは簡単いろいろ悪戦苦闘した挙げ句やっと動いたのが4版だったのです。
作成ファイル内容は、
63Pear Village に戻り
左サイドナビ「PHPlot グラフ表示」の中の
PHPlot ロ-ソク足チャ-ト PHP ファイル
から見てください。
まずは、PHPlot パッケ-ジを読み込みます。
require_once 'davefx/phplot/phplot/phplot.php';
折線と棒グラフを描画するキャンパスを用意します。
PHPlot オブジェクトを生成し
$plot = new PHPlot(600,400,'sample4.png'));
とすると、横 600px × 縦 400px のグラフキャンパスができました。
'sample4.png' が作成されたグラフのファイル名になります。
フォントの設定
グラフキャンバスのなかで使用するフォントを設定します。
日本語を使用したいので、日本語フォントを選びます。
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_line.php を
C:\xampp\htdocs\plot_gra
\phplot-bar_line.php
のように置いていたとすると
C:\xampp\htdocs\plot_gra
\fonts\ipaexg.ttf
となります。
ロ-ソク足チャ-ト・折線グラフ共通項目設定
最初にロ-ソク足チャ-ト・折線グラフの共通項目について設定していきます。
- グラフファイル出力
SetIsInline メソッドを使って、
$plot -> SetIsInline(true);
とし、sample4.png なるグラフファイルが出力されるようにします。 - フォントパス指定
タイトル表示に日本語を使用していますので、日本語の ttf フォント設定が必要です。
日本語フォントが置かれていくフォントパスを指定します。
$plot -> SetTTFPath
(dirname(__FILE__).'/fonts');
dirname(__FILE__) は自身がいるディレクトリの絶対パスを返すPHP関数でしたね。
$plot -> SetDefaultTTFont('ipaexg.ttf');
とすれば、日本語フォント設定は完了です。 - X,Y軸の目盛文字表示フォント設定
X軸の目盛文字表示フォントを設定するには SetFontTTF メソッドで行います。
X軸目盛文字表示フォントを設定は
$plot -> SetFontTTF('x_label', 'ipaexg.ttf', 9);
第3引数はフォントの大きさで 9px に設定しました。
Y軸目盛文字表示フォントを設定は
$plot -> SetFontTTF('y_label', 'ipaexg.ttf', 9);
です。 - 目盛文字やタイトルが見えるようにする
プロットエリアとラベルのマージンを指定するメソッド
SetMarginsPixels
を使って目盛文字やタイトルが見えるようにします。
$plot -> SetMarginsPixels(30, 30, 30, 40);
引数には順に、左 右 上 下 のマ-ジン量をピクセル単位で指定します。
これらを0に設定すると プロットエリア=グラフ全体 になって目盛文字やタイトルが見えなくなってしまいます。 - タイトル表示
横書きグラフタイトルを表示するには SetXTitle メソッドで行います。
$plot -> SetXTitle('日付 4月','plotdown');
第1引数は表示タイトル名です。
第2引数にはタイトル表示位置を書きます。
・plotdown ・・・ タイトルをグラフ下部に表示
・plotup ・・・ タイトルをグラフ上部に表示
・both ... plotdown/plotup の両方
・none ・・・ 表示しない
又、SetTitle メソッドを使用するとグラフ上部に表題を書くことができます。
$plot -> SetTitle("表題文字");
ここまでで、PHPlot ロ-ソク足チャ-ト・折線グラフ共通項目設定までができあがりました。
やっと道半ばです。
次ぎに、これに重ねて折線グラフとロ-ソク足チャ-トを作成します。
長くなりましたのでここで一旦切りたいと思います。
PHPlot ロ-ソク足チャ-ト-その2 に続く
PHPlot 折線-棒グラフファイル作成-その2 に戻る