目次 前へ 次へ

6.3 塗りつぶす色を指定する

塗りつぶし等高線グラフを描画するためには、以下のメソッドを呼び出します。

n本の等高線が存在する場合、グラフを塗りつぶすには「n+1」色が必要となります。 塗りつぶし方には2つの方法がありますが(等高線と比べて高い方、低い方のどちらの面を等高線の色で塗りつぶすかということ)、JpGraphでは等高線(n)と次の等高線(n+1)までの面を、等高線の色で塗りつぶします。

色を手動で指定する場合は、等高線の数よりも、一つ多く色を指定する必要があります。

色配列で指定された最初の色は、等高線で囲まれた一番低い面を塗りつぶします。

これを確認するために、以下の例を見てみましょう。

この例では、説明を簡単にするために等圧線を3本だけ表示させます。つまり、塗りつぶすためには、4色、色を指定する必要があります。

<?php
$data 
= array( ... );
 
$isobar_colors = array('lightgray','teal:1.3','orange','red');
 
// 3本の等高線で、等高線グラフを作る
$cp = new ContourPlot($data,3);
 
// 手入力で色を指定する
$cp->SetIsobarColors($isobar_colors);
 
?>


図6.3 手動で塗りつぶす色を設定する [ソース]

グラフ中にアルゴリズムによって算出された3つの等高線(6.2, 10.5, 14.8)がラベルと共に表示されています。

一つ目の色「lightgray(灰色)」は最も低い等高線 (6.2)以下の面を塗りつぶすのに使用されます。

また、SetFilled(false)と指定することで、塗りつぶしなしの等高線グラフを作成できます。

しかし、FilledContourPlotクラスを用い、先述の指定で作成した塗りつぶしなしの等高線グラフと、ContourPlotクラスで作成した等高線グラフとは、見た目が若干異なります。

その理