$data[0] = array('', 1); // データを適当にセット
$data[1] = array('', 2);
$data[2] = array('', 3);
$data[3] = array('', 4);
?>
PHPlotを使ったグラフのサンプル
PHPlotを使ったグラフのサンプル
本グラフはPHPlotを使って作成されています。
// グラフ画像の出力ファイル
$img_file = "/tmp/sample.svg";
// グラフの表示レンジ(Y軸の表示範囲を指定)
$y_min = 0;
$y_max = 10;
// グラフの大きさ( width x height 単位はピクセル)
$width = 250;
$height = 150;
require_once('phplot/phplot_svg.php'); // PHPlotのロード
$graph = new PHPlot($width, $height, $img_file); // PHPlotの初期化
$graph->SetIsInline(TRUE); // 画像をインライン表示(本家PHPlot互換用)
// グラフの種類を指定
$graph->SetPlotType('linepoints');
// 折れ線(点付き):linepoints, 折れ線(点なし):lines,
// 棒(別々):bars, 棒(積み重ね):stackedbars, 棒(細い):thinbarline
// 円:pie, 点:points, エリア(折れ線+塗潰し):area
// データの種類を指定
$graph->SetDataType("text-data");
// text-data: ('label', y1, y2, y3, ...)
// text-data-single: ('label', data), for some pie charts.
// data-data: ('label', x, y1, y2, y3, ...)
// data-data-error: ('label', x1, y1, e1+, e2-, y2, e2+, e2-, y3, e3+, e3-, ...)
$graph->SetRGBArray('large'); // カラーパレットの読込み(large:rgb.inc.phpを使用)
// X軸の設定
$graph->SetXTickPos('none'); // X軸の目盛りを表示しない
$graph->SetXTickLabelPos('none'); // X軸の目盛りの数字を表示しない
// Y軸の設定
//$graph->SetPlotBorderType('left'); // Y軸表示を指定(両側:both, 左のみ:left, 右のみ:right)
$graph->SetYTitle('Y-Label'); // Y軸のタイトル
$graph->SetYTickIncrement(2); // Y軸の目盛り間隔
// 点の種類(グラフが'linepoints','points'で有効)
$graph->SetPointShapes('diamond');
// ◆:diamond,○:circle,●:dot, triangle, ■:rect
$graph->SetPointSize(3); // 点の大きさ
$graph->SetShading(3); // 影の太さ(グラフが'bars','stackedbars'で有効)
$graph->SetLegend( array('sample1', 'sample2') ); // 信号の注釈表示(配列渡し)
// ※日本語はUTF-8で記載すれば表示可能
// グラフ描画処理
$graph->SetDataValues($data); // データの読込み
// プロットエリアを指定
$graph->SetPlotAreaWorld( 0, $y_min, sizeof($data), $y_max );
// グラフ(画像)の作成
$graph->DrawGraph();
// 任意の線をグラフに追加する
$std = 3; // Y=3の線を追加する
$color_blue = $graph->SetIndexColor("blue"); // 色で青を指定
$graph->DrawDashedLine(
$graph->plot_area[0], $graph->ytr($std),
$graph->plot_area[2], $graph->ytr($std),
3, // 破線の色付き長さ
0, // 破線の色なし長さ
$color_blue
);
$graph->PrintImage(); // グラフ(画像)の出力(本家PHPlotの互換用)
/////////////////////////////////////////////////////////////////////////////
// *注意* //
// 実際にグラフを記述したSVGファイルが出力されるのは //
// $graphのデストラクタが呼ばれた時になります //
/////////////////////////////////////////////////////////////////////////////
?>