Pear::Image_Grap その5

Image_Graph ロ-ソク足 基本ファイル作成

それでは、Image_Graph ロ-ソク足 基本ファイル p_gra-cand.php を作成します。
作成ファイル内容は、
63Pear Village に戻り
左サイドナビ「Pear::Image_Graph その5」の中の
Image_Graph ロ-ソク足チャ-ト基本 PHP ファイル
から見てください。

Pear::Image_Graph ファイル読込

グラフ作成にまず必要になるのが、Image_Graph クラスですのでこれを読み込みます。
include 'Image/Graph.php';

グラフキャンパス作成

Image_Graph オブジェクトを作成します。
これによりキャンパスの骨格ができ上がります。
Pear が好きな factory( ) メソッドを使用して骨格を作ります。
Factory method は Image_Graph objects を作成します。
( ) の中は、第一引数は 'graph'、第二引数でグラフのサイズと画像書式 png 又は jpg を指定
画像書式は省略するとデフォルトで png が設定されます。
$Graph = Image_Graph::factory('graph', array(300, 400));   ①
又は、
$Graph = Image_Graph::factory('graph', array(array('width' => 300, 'height' => 400, 'canvas' => 'png'));
となりますが、①の書式が簡単で良いと思います。   

フォントの設定

キャンバスのなかで使用するフォントを設定します。
日本語を使用したいので、日本語フォントを選びます。
C:\Windows\Fonts
の中にある日本語フォントはどれも
*****.ttc
でこれでは動かないようです。
そこで、フリ-の日本語フォントで、*.ttf のものを探して、これを利用します。
IPAフォント サイト
に行くと
IPAex明朝 (Ver.003.01)
ipaexm00301.zip(5.42MB)
をダウンロ-ドすることができますのでこれを解凍後 ipaexm.ttf を fonts フォルダに置きます。
XAMPP 環境で言うと
C:\xampp\htdocs\p_gra\fonts\ipaexm.ttf
となります。
そして、addNew( )メソッドを使用して
$Font = $Graph->addNew('font', 'fonts/ipaexm');
又は
$Font = $Graph->addNew('font', './fonts/ipaexm.ttf');
.ttf は省略可
とし、グラフキャンパス $Graph に setFont( )メソッドでフォントを設定します。
フォントサイズは 8px としました。
$Font->setSize(8);
$Graph->setFont($Font);
なお PHP7 では、このフォント設定はできませんので、日本語は使用できません、英文字を使用します。

キャンバスの配置割合

①でキャンパスオブジェクト $Graph を作成しました。
このなかにさらにサブのキャンパスオブジェクトを作成していきます。

  1. タイトル欄

    Image_Graph::factory('title',array('℃  気温変化-ロ-ソク足表示   ',12)),
    12 は font の表示ピクセル数指定と思われます。
    なお、適宜表題表示文字の前後に空白文字を入れる「℃」の文字が X 軸の一番上に表示されます。

  2. グラフ欄 $Plotarea

    $Plotarea = Image_Graph::factory('plotarea'),

  3. 凡例欄 $Legend

    $Legend = Image_Graph::factory('legend')

の3つを作ります。
縦に欄をならべていきますので、
Image_Graph::vertical( )オブジェクトと add メソッドを使用して
$Graph->add(Image_Graph::vertical(・・・・・),指定縦欄の高さ割合%)
の様な書式で設定します。
ちなみに、今回高さは 400px ですので、タイトル欄は
400px の 5% で 20px なり、ここに 12px の文字が入ることになります。
ここまでをまとめると

 $Graph->add(
  Image_Graph::vertical(
   Image_Graph::factory
    ('title',array
     ('℃  気温変化-ロ-ソク足表示   ',12)),
  Image_Graph::vertical(
    $Plotarea =
     Image_Graph::factory
      ('plotarea'),
     $Legend =
      Image_Graph::factory
       ('legend'),85 //グラフ領域の割合
       ),5 // タイトルの割合
  )
 );

となります。
そして凡例欄を有している $Legend の中に setPlotarea メソッドで $Plotarea を入れ込んで、グラフを表示させます。
$Legend->setPlotarea($Plotarea);

背景色設定

背景色設定を設定します。
これを省略すると背景色は黒になります。
例えば、棒グラフの色を黒にすると背景色が黒のままだと棒グラフが見えません。
又、エリアグラフを作成したとき、折線上部は背景が見えて黒く折線下部は白く見えます。
ここでは、背景色を白色に設定します。
$Plotarea->setFillColor('white');
表示したグラフエリア $Plotarea を ''white' にしました。

これで、グラフエリア $Plotarea の画面準備が完了しました。
引き続き、ロ-ソク足グラフを入れ込んでいきます。


Image_Graph ロ-ソク足 基本ファイル作成-2 に続く
Image_Graph ロ-ソク足チャ-ト に戻る

63Pear Villageに戻る