- Home ›
- JpGraphを使ったグラフの描画 ›
- 棒グラフ(BarPlot) ›
- HERE
積み上げ棒グラフ(AccBarPlotクラス)
積み上げ棒グラフの作成を行います。積み上げ棒グラフとは複数の棒グラフを並べて表示するのではなく、同じX軸の値に対応する複数の棒グラフの値を合計した結果を表示するグラフのことです。
積み上げ棒グラフを作成するにはAccBarPlotクラスのオブジェクトを作成しGraphクラスのオブジェクトに追加します。AccBarPlotクラスは「jpgraph_bar.php」内で定義されています。
CLASS AccBarPlot EXTENDS BarPlot
コンストラクタは次のようになっています。
AccBarPlot function function AccBarPlot($plots)
Construct a new accumulated bar graph Parameter: $plots Array of bar plots
積み上げたい棒グラフのオブジェクトを先に作成しておき、そのオブジェクトを配列にしたものを引数としてコンストラクタに渡してAccBarPlotクラスのオブジェクトを作成します。複数の棒グラフを並べて表示するにはGroupBarPlotクラスを使っていましたが、グループにまとめる代わりに積み上げ棒グラフとして1つの棒グラフにしてからグラフに追加します。
※複数の積み上げ棒グラフを作成し、それらをグループとしてまとめて並べて表示する事も可能です。
4番目の引数で影を表示するかを指定します。デフォルトで「true」になっています。
例えば次のように記述します。
$ydata1 = array(10, 4, 7, 9, 2, 3); $ydata2 = array(5, 12, 3, 8, 5, 9); $barplot1 = new BarPlot($ydata1); $barplot2 = new BarPlot($ydata2); $accbarplot = new AccBarPlot(array($barplot1, $barplot2)); $graph = new Graph(250, 200); $graph->Add($accbarplot);
サンプル
それでは実際に試して見ます。
<?php include ("jpgraph/jpgraph.php"); include ("jpgraph/jpgraph_bar.php"); $graph = new Graph(250, 200, "auto"); $graph->SetFrame(true); $graph->SetScale("textlin"); $graph->img->SetMargin(30, 30, 30, 30); $ydata1 = array(10, 4, 7, 9, 2, 3); $ydata2 = array(5, 12, 3, 8, 5, 9); $barplot1 = new BarPlot($ydata1); $barplot1->SetFillColor("orange"); $barplot2 = new BarPlot($ydata2); $barplot2->SetFillColor("blue"); $accbarplot = new AccBarPlot(array($barplot1, $barplot2)); $graph->Add($accbarplot); $graph->Stroke(); ?>
上記のPHPファイルをブラウザで開いてみます。ブラウザには次のように表示されます。
( Written by Tatsuo Ikura )