3.6 メソッド(元サブルーチン)の説明 : 上位応用ルーチン (ULA)

このメソッド(元サブルーチン)パッケージ UXPACK/UYPACK/UZPACK において, 実際にユーザーが使用するであろうルーチン群. 下位応用ルーチン (LLA)を組み合わせて書かれており, 座標軸の構成要素の属性は uzpget/uzpsetによって 参照/変更することができる. 上位応用ルーチン(ULA)に関する以下の説明では, 内部で呼ばれている下位応用ルーチン名が しばしば引用されるので, くわしくは3.8節を参照のこと.



上位応用ルーチン(ULA)に含まれるメソッド(元サブルーチン)としては以下のものがある.

等間隔の目盛と数値ラベルを描くだけならuxaxdv/uyaxdvを用いればよい. 不等間隔の目盛と数値ラベルを描きたければuxaxnm/uyaxnmを 用いればよい. 数値ラベルのフォーマットはユーザーが指定することも可能なので, 数値ラベル座標軸の描画はほぼこれらのルーチンで事足りる. それでも満足できない場合は, 目盛とラベルを描く位置さらには 描くラベルを指定するルーチンuxaxlb/uyaxlbを用いればよい. また, タイトルはuxmttl/uymttl, uxsttl/uysttlによって, 描いたラベル等のオフセット量を気にしなくても 次々と重ならないように描くことができる.



以下の説明で共通してあらわれる引数 cside は, 座標軸の構成要素を描く場所を指定するパラメーターで, X軸については 'B', 'T', 'U' が指定できる; Y軸については 'L', 'R', 'U' が指定できる (くわしくは3.2節参照).



目盛はcsideすべての選択について描かれる. しかしラベルを描くかどうかは, 場所に依存した内部変数'LABELzs'が決める. この内部変数が.true.なら描く, .false.なら描かない (初期値は, .true., .false., .true., .true., .false., .true.). つまり初期設定では, 下('B')の座標軸と左('L')の 座標軸についてラベルを描くが, 上('T')の座標軸と右('R')の 座標軸についてはラベルを描かない (ユーザーの座標軸はラベルを描く).



以下のルーチンのうち, uxaxlb/uyaxlb, uxaxnm/uyaxnm, uxaxdv/uyaxdvについては, 内部変数'LOFFSET'.true.なら 座標系をリニアオフセットする;.false.ならしない (初期値は.false.). つまり, 内部変数'LOFFSET'.true.のとき 次のように座標系の変換がおこなわれウインドウが再設定される (この設定はルーチン内でのみ有効であって, ルーチンを抜け出すとき最初の設定に戻される; つまり座標軸を描くときのみ有効である).

UXPACKについては内部変数'XOFFSET', 'XFACT'を参照して 次の変換をおこなう.

f(x)=XFACT×x+XOFFSET

 

UYPACKについては内部変数'YOFFSET', 'YFACT'を参照して 次の変換をおこなう.

g(y)=YFACT×y+YOFFSET

 
これはたとえば, 温度に関するデータがあってデータの単位はセ氏で与えられているが, 目盛は華氏で打ちたいというときなどに有効である.