DCL:GRPH2:U[XYZ]PACK : 直交座標軸ルーチン
このメソッド(元サブルーチン)パッケージ 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