PEAR Image_Graphでグラフ作成(その1)

·

PEARのライブラリを使うと折れ線グラフも簡単に作ることができる。

使い方は簡単。

require_once 'Image/Graph.php';

ライブラリ読み込み

$w = 600;
$h = 300;

画像サイズを設定

$Graph =& Image_Graph::factory('graph', array($w, $h));

これがキャンバスになる

■日本語フォントを使いたい時は、フリーの日本語フォントをサーバー上に置いて指定する。

$Font =& $Graph->addNew('font', '../../font/ipam.ttf');

フォントオブジェクトを作成

$Font->setSize(10);

フォントサイズも指定できる(10ピクセル)

$Graph->setFont($Font);

キャンバスにフォントを適用

■タイトルとグラフを作成するエリアを設定

$img_text = mb_convert_encoding('日別推移',"UTF-8","euc");

日本語を使う時はUTF-8にするのがポイント

コンバートしてあげればいい

$Graph->add(
    Image_Graph::vertical(
        Image_Graph::factory('title', array($img_text, 12)),
        タイトルエリアは上グラフ関連エリア下
        文字サイズ12ピクセル
        Image_Graph::vertical(

        $Plotarea = Image_Graph::factory('plotarea'),
        グラフエリアは上

        $Legend = Image_Graph::factory('legend'),
        凡例エリアは下

         90
         グラフの占める縦のパーセンテージ
        ),
        20
        タイトルが占める縦のパーセンテージ
    )
);
$Plotarea->setPadding(array("top"=>1,"right"=>2,"bottom"=>2,"left"=>2));

グラフ描画エリアのpadding設定はこんな感じ

$Legend->setPlotarea($Plotarea);

データと凡例の関係付け

$Legend->setPadding(0);

Legend の padding

$Plotarea->setFillColor('gray@0.05');

グラフエリアの背景色/透明度

$GridY =& $Plotarea->addNew('line_grid', null, IMAGE_GRAPH_AXIS_Y);
$GridY->setLineColor('gray@0.1');
$GridX =& $Plotarea->addNew('bar_grid', null, IMAGE_GRAPH_AXIS_X);
$GridX->setLineColor('gray@0.1');

升目のグリッド指定

サンプル

http://digital-gate.com/graph/image_graph.php