PHP(5) Use JpGraph

JpGraphとは

JpGraphはAditus Consultingが開発しているグラフ生成ライブラリ。
JpGraphを利用することで、数行のコーディングで簡単に動的にグラフを生成することができる。

JpGraphダウントード

JpGraphのダウンロードは下記URLから行える。
http://jpgraph.net/download/

JpGraphインストール

PHPでグラフを出力する方法はいくつかあり、何れにしてもGDライブラリがインストールされていることが前提条件となっている。

この記事は、DreamHostで演習を前提とするので、GDライブラリがすでに用意されている。日本語の表示はフォントのインストールなど必要だが、省略する。そのためソースコードに日本語の表示に関連する箇所はコメントアウトする。

JpGraphはどこに設置しても動作する。

この演習では、jpgraphと言うフォルダに入れて、ソースから直接インクルードする。

// 折れ線グラフ描画に必要なライブラリ
include (“./jpgraph/jpgraph.php”);
include (“./jpgraph/jpgraph_line.php”);

JpGraphサンプル

折れ線グラフを生成するプログラムtest.php

<?php
// 折れ線グラフ描画に必要なライブラリ
include ("./jpgraph/jpgraph.php");
include ("./jpgraph/jpgraph_line.php");

// データ、凡例、描画色を準備
$data = array(
  'data' => array(
    array(151, 170, 140, 116, 157),
    array(161, 147, 182, 105, 140),
    array(115, 110, 90, 93, 88),
  ),
  'legends' => array('Tokyo', 'Akihabara', 'Ueno'),
  'colors' => array('red', 'green', 'blue'),
);

// グラフの描画先
$g = new Graph(400, 400); // サイズ
$g->setScale('textlin'); // 目盛り
// $g->title->setFont(FF_MINCHO, FS_NORMAL, 14); // タイトルフォント
// $g->title->set('上半期 店舗別販売件数'); // タイトル
// $g->legend->setFont(FF_MINCHO, FS_NORMAL, 14); // 凡例フォント

// 配列から順に折れ線グラフを生成&キャンバスに追加
for ($i = 0; $i < count($data['data']); $i++) {
  $l[] = new LinePlot($data['data'][$i]); // データ
  $l[$i]->setLegend($data['legends'][$i]); // 凡例
  $l[$i]->setColor($data['colors'][$i]); // 描画色
  $g->add($l[$i]); // 追加
}

// グラフを描画
$g->stroke();

作成方法は、

  1. グラフの描画キャンバスのGraphオブジェクトを生成
  2. 配列から順に折れ線グラフを生成
  3. LinePlotクラスを直接にaddメソッドでキャンバスのGraphオブジェクトに追加
  4. グラフを描画

参考

  1. https://www.buildinsider.net/web/bookphplib100/025