ここでは「方位ラベル」とは風配図プロットのまわりのコンパス方位の名前のことを指します。初期設定では16の方位はそれぞれ英語の方位名の省略形になっています。これもご使用になる地域・言語に合わせて変更が可能です。
方位軸ラベルのフォントとフォントカラーの指定
軸ラベルのフォントは次の関数に通常の引数を入れて指定します。
下は引数を入れた記述例です。
$windplot->SetFont(FF_TIMES,FS_BOLD,12);
$windplot->SetFontColor('darkgreen');
風配図プロットの表示は図2.4_4の風配図プロットのようになります。
データの方位の任意文字列の設定
フリー・タイプの風配図プロットを使う場合、ラベルの初期設定はデータの角度と同じ方位になっています。これば次の方法で自由にカスタマイズできます。
この方法による入力データでは、連想配列を使い、キーに方位、カッコ内には表示するテキストを記述します。
通常のコンパス方位の風配図プロットでは方位ラベルは変更できないことにご注意ください。変更は「WINDROSE_TYPEFREE」の風配図プロットでのみ可能です。
次の例では、角度が50度の位置でテキスト「Point\n#7315」のラベルのデータポイントを指定する例です。
$data = array( 50 => array(12,12,2) );
$labels = array( 50 => 'Point #7315' );
...
$windplot = new WindrosePlot();
$windplot->SetLabels($labels);
このサンプルは下の図のようになります。(使っているバケットの角度は異なります。)
配置と余白を調整する
プロットのまわりのコンパス・ラベルの位置を調整するには以下の2通りの方法があります。
まず、プロットのまわりに見えない円があると想像してみてください。余白のマージンはこの想像上の外円を、いちばん外の目盛りにとなる円からどれくらい離れた場所に置くかによって指定します。
プロットの外周の円の中のどこにラベルを置くかについては、テキストのどの点を外円に合わせるかを選択することによって、いくつかの方法があります。一番簡単な方法はテキストの真ん中、(つまり縦横両方向でみた中央)を選択することです。すべてのラベルの大きさがほぼ同じ場合はこの方法でうまくいきます。最大ラベルと最小ラベルのサイズに大きな違いがある場合は余白を大きくとって、テキストがプロットと衝突するのを避ける必要があるかもしれません。
もっといいのはテキスト上でプロットに最短となるポイントを決め、そのポイントを円の上で設定する方法です。この最短ポイントはどのコンパス方位にラベルを置くかによって異なります。例えば「東」に置くラベルならテキストの左端の中央が最短ポイントとなり、「西」での最短点はテキスト右端の中央になります。
ライブラリは下記の方法によって両方の位置設定をサポートします。
$aPosition に有効な値は LBLPOSIITON_CENTER と LBLPOSITION_EDGEです。
余白と位置の両方を指定するには次のように記述します。
$windplot->SetLabelMargin(30);
$windplot->SetLabelPosition(LBLPOSITION_EDGE);
下の図の中の赤い円は、上で説明した想像上のラベルを置くための円です。プロット上の一番外の円からラベルのアンカー・ポイントまでの幅が余白マージンです。
図2.3.2_1 |
図2.3.2_2 |
この方法で描かれたラベルの例は図2.4_6をご覧ください。