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