Legendクラス

広告

ここでは凡例を表示する場合の細かい設定方法を確認していきます。設定にはGraphクラスで用意されている「legend」プロパティを使ってオブジェクトを取得しそのオブジェクトに対して設定を行います。

「legend」プロパティで取得したオブジェクトは「Legend」クラスのオブジェクトになります。Legendクラスは「jpgraph.php」で定義されています。

具体的には次のようにオブジェクトを取得します。

$graph = new Graph(250, 200);

$legend = $graph->legend;

取得したLegendクラスのオブジェクトに対して様々なメソッドを実行することで凡例に対する設定を行うことが出来ます。例えば複数の凡例の表示方法を設定する「SetLayout」メソッドを使う場合には次のように行います。

$graph = new Graph(250, 200);

$legend = $graph->legend;
$legend->SetLayout(LEGEND_HOR);

または単に次のように記述しても構いません。

$graph = new Graph(250, 200);

$graph->legend->SetLayout(LEGEND_HOR);

サンプル

それでは特に設定を行わない場合に凡例がどのように表示されるかデフォルトの状態を確認しておきます。

sample1-1.php

<?php

include ("jpgraph/jpgraph.php");
include ("jpgraph/jpgraph_line.php");

$graph = new Graph(300, 200, "auto"); 
$graph->SetFrame(true);
$graph->SetScale("textlin");

$graph->img->SetMargin(40, 40, 30, 30);

$ydata1 = array(10, 4, 7, 9, 2, 3);
$ydata2 = array(5, 12, 3, 8, 5, 9);

$lineplot1 = new LinePlot($ydata1);
$lineplot1->SetColor(array(255, 0, 0));
$lineplot2 = new LinePlot($ydata2);
$lineplot2->SetColor(array(0, 0, 255));

$lineplot1->SetLegend("2005");
$lineplot2->SetLegend("2006");

$graph->Add($lineplot1);
$graph->Add($lineplot2);

$graph->Stroke();
?>

上記のPHPファイルをブラウザで開いてみます。ブラウザには次のように表示されます。

凡例をデフォルトのまま表示した場合

デフォルトでは凡例は右上に表示され、また複数の凡例を表示する場合は縦方向に並べて表示されます。

( Written by Tatsuo Ikura )