目次 前へ 次へ

7.17 プロット マークにコールバック関数を使用する

JpGraph では、プロット マークの描画にコールバック関数を用いることができます。そうすることで、各プロット マークの大きさとカラーを制御できます。

コールバック関数では、現在の Y 座標を引数として受け取ります。コールバック関数は、以下の 3 種類の値を格納した配列を戻り値として返却する必要があります。戻り値は以下の値でなければなりません。

  1. プロット マークの大きさ
  2. プロット マークのカラー
  3. プロット マークの塗りつぶしカラー

これらの意味は、使用するプロット マークによって異なります。

コールバック関数はグローバル関数で、PlotMark::SetCallback()メソッドを通じて使用します。

たとえば、Y 値が 90 より上の場合のプロット マークにのみカラーを上塗りしたい場合は、以下のようなコードになります。

function MarkCallback($aVal) {
if(
$aVal > 90)
$fcolor="red"
else
$fcolor="";
return array(
"","",$fcolor);
}
...
$plot->mark->SetCallback("MarkCallback");
...

上記のサンプルでは、値を返却しているものもあります。こうすることで、それらに関しては変更が反映されず、プロット マークのデフォルト設定が使用されます。

また、プロット マークの大きさを Y 値に対応したものにすることで、バルーン プロット形式のプロットを作成できます。以下にその例を掲載します。format コールバックは、それぞれのプロットのY値に応じて色とサイズを変更するために使用されます。



図 96:コールバック関数を使ってバルーン プロットを作成する [ソース]


目次 前へ 次へ