PHPlot グラフ表示

PHPlot ロ-ソク足チャ-ト-その2

PHPlot を利用してロ-ソク足チャ-ト-その2 を作成していきます。
作成ファイル内容は、
63Pear Village に戻り
左サイドナビ「PHPlot グラフ表示」の中の
PHPlot ロ-ソク足チャ-ト PHP ファイル
から見てください。
前項において ロ-ソク足チャ-ト・折線グラフ共通項目設定まで説明しました。
引き続き、折線グラフ部を作成していきます。

折線グラフ部作成

ロ-ソク足チャ-ト部を作成する前に、まずは折線グラフ部から作成していきます。

  1. 折線グラフデ-タ

    表示する棒グラフのデ-タ値を定義します。
    $data1 =
    array(
    array('4/1',16),
    array('2',17),
    array('3',18),
    array('4',19),
    array('5',18),
    array('6',17),
    array('7',16),
    array('8',17),
    array('9',18),
    array('10',19) );
    すなわち、
    4/1日 16%
    2日 17%
    ・・・・・・・・
    10日 19%
    のデ-タを設定しました。
    それでは順次折線グラフの仕様を決めていきましょう。

  2. 折線グラフに設定

    グラフの種類は SetPlotType メソッドで行います。
    $plot -> SetPlotType('lines');
    とすると、折線グラフが作成されます。
    ちなみに、グラフの種類には次のものがあります。
    ・bars … 棒グラフ
    ・thinbarline … 線状棒グラフ
    ・area    … エリアグラフ
    ・lines    … 折線グラフ
    ・linepoints … 折線グラフにデータの点をプロット(デフォルト)
    ・points   … データの点のみをプロット
    ・stackedbars … 各要素を積み重ね

  3. グラフデ-タ設定

    SetDataValues メソッドで 折線グラフデ-タ $data1 をキャンンパスに設定します。
    $plot -> SetDataValues($data1);

  4. 折線グラフ Y軸の目盛文字の表示位置

    折線グラフの Y軸目盛りは右側に表示したいと思います。
    Y軸の目盛文字の表示位置を指定するには SetYTickLabelPos メソッドで行います。
    $plot -> SetYTickLabelPos('plotright');
    向かって Y軸線の右側に Y軸の目盛文字を表示します。
    ちなみに、Y軸の目盛文字の表示位置指定には次のものがあります。
    ・plotleft ・・・ Y軸の目盛り線の左部
    ・plotright ・・・ Y軸の目盛り線の右部
    ・both   ・・・ plotleft/plotrightの両方
    ・none  ・・・ 表示しない

  5. 折線グラフ Y軸の目盛線の配置場所

    Y軸の目盛線の表示位置を指定するには SetYTickPos メソッドで行います。
    Y軸の目盛線とは Y軸に直交する 8px 程度の横線です。
    $plot -> SetYTickPos('plotright');
    向かって右側に Y軸目盛線を表示します。
    ・plotleft ・・・ グラフ左部(デフォルト)
    ・plotright ・・・ グラフ右部
    ・both  ・・・ plotleft/plotrightの両方
    ・none  ・・・ 表示しない

  6. 折線グラフ X,Y目盛値の最大,最小値設定

    X,Y目盛値の最大,最小は SetPlotAreaWorld メソッドを使用します。
    $plot -> SetPlotAreaWorld(0, 14, 10, 24);
    ( )内には、
    X目盛最小値,Y目盛最小値
    X目盛最大値,Y目盛最大値
    の順にその値を指定します。

  7. 折線グラフ色指定

    SetDataColors メソッドを使用して折線の色指定をします。
    $plot -> SetDataColors('black');
    黒色に指定しました。
    デフォルトは青色のようです。

  8. 折線グラフ出力

    DrawGraph メソッドで 折線グラフを一旦メモリ上に出力します。
    $plot -> DrawGraph();


ここまでで、折線グラフができあがりました。

ロ-ソク足チャ-ト部作成

引き続きロ-ソク足チャ-ト部を作成していきます。

  1. ロ-ソク足チャ-トデ-タ

    表示するロ-ソク足チャ-トのデ-タ値を定義します。
    $data[0] = array('4/1', 18.37, 18.76, 17.27, 17.48);
    $data[1] = array('2', 17.48, 18.62, 17.05, 18.13);
    $data[2] = array('3', 18.13, 18.88, 18.00, 18.83);
    $data[3] = array('4', 18.83, 18.90, 17.52, 17.88);
    $data[4] = array('5', 17.88, 18.21, 17.84, 17.93);
    $data[5] = array('6', 17.93, 18.59, 17.31, 18.33);
    $data[6] = array('7', 18.33, 18.65, 16.88, 17.06);
    $data[7] = array('8', 17.06, 17.45, 16.92, 17.14);
    $data[8] = array('9', 17.14, 17.22, 16.60, 16.96);
    $data[9] = array('10',16.96, 17.90, 16.26, 16.90);
    すなわち、
    4/1日 始値 18.37℃,高値 18.76℃,低値 17.27℃,終値 17.48℃
    ・・・・・・・・
    10 日 始値 16.96℃,高値 17.90℃,低値 16.26℃,終値 16.90℃
    のデ-タを設定しました。
    それでは順次ロ-ソク足チャ-トの仕様を決めていきましょう。

  2. ロ-ソク足チャ-トに設定

    グラフの種類は SetPlotType メソッドで行います。
    $plot->SetPlotType('candlesticks2');
    とすると、ロ-ソク足チャ-トが作成されます。
    これがわかるのに非常に苦労しました。
    ちなみに、グラフの種類には次のものがあります。
    ・bars … 棒グラフ
    ・thinbarline … 線状棒グラフ
    ・area    … エリアグラフ
    ・lines    … 折線グラフ
    ・linepoints … 折線グラフにデータの点をプロット(デフォルト)
    ・points   … データの点のみをプロット
    ・stackedbars … 各要素を積み重ね

  3. ロ-ソク足チャ-トデ-タ設定

    SetDataValues メソッドで 折線グラフデ-タ $data をキャンンパスに設定します。
    $plot -> SetDataValues($data);

  4. ロ-ソク足チャ-ト Y軸の目盛文字の表示位置

    ロ-ソク足チャ-トの Y軸目盛りは左側に表示したいと思います。
    Y軸の目盛文字の表示位置を指定するには SetYTickLabelPos メソッドで行います。
    $plot -> SetYTickLabelPos('plotleft');
    向かって Y軸線の左側に Y軸の目盛文字を表示します。
    ちなみに、Y軸の目盛文字の表示位置指定には次のものがあります。
    ・plotleft ・・・ Y軸の目盛り線の左部
    ・plotright ・・・ Y軸の目盛り線の右部
    ・both   ・・・ plotleft/plotrightの両方
    ・none  ・・・ 表示しない

  5. ロ-ソク足チャ-ト Y軸の目盛線の配置場所

    Y軸の目盛線の表示位置を指定するには SetYTickPos メソッドで行います。
    Y軸の目盛線とは Y軸に直交する 8px 程度の横線です。
    $plot -> SetYTickPos('plotleft');
    向かって右側に Y軸目盛線を表示します。
    ・plotleft ・・・ グラフ左部(デフォルト)
    ・plotright ・・・ グラフ右部
    ・both  ・・・ plotleft/plotrightの両方
    ・none  ・・・ 表示しない

  6. ロ-ソク足チャ-ト Y軸の目盛幅

    SetYTickIncrement メソッドで Y軸の目盛幅を指定します。
    今回は目盛幅を 1 としました。
    $plot->SetYTickIncrement(1);

  7. ロ-ソク足チャ-ト X,Y目盛値の最大,最小値設定

    X,Y目盛値の最大,最小は SetPlotAreaWorld メソッドを使用します。
    $plot -> SetPlotAreaWorld(0, 15, 10, 20);
    ( )内には、
    X目盛最小値,Y目盛最小値
    X目盛最大値,Y目盛最大値
    の順にその値を指定します。

  8. ロ-ソク足チャ-ト色指定

    SetDataColors メソッドを使用してロ-ソク足の色指定をします。
    低下時棒色、上昇時棒色、低下時線色、上昇時線色
    の順で配列で指定します。
    $plot -> SetDataColors(array( 'DarkGreen','red','DarkGreen','red' ));

  9. ロ-ソク足チャ-ト

    DrawGraph メソッドで ロ-ソク足チャ-ト メモリ上に出力します。
    $plot -> DrawGraph();


後は、
print("<img src = 'sample4.png'>");
で WEB 上に表示すれば完了です。

引き続き、PHPlot ロ-ソク足チャ-ト・折線グラフを CSV ファイルから描いていきます。
長くなりましたのでここで一旦切りたいと思います。


PHPlot ロ-ソク足チャ-ト-その3 に続く
PHPlot ロ-ソク足チャ-ト に戻る 

63PearVillage に戻る