データ解析をした人なら, 日付軸をつけることの面倒くささはご承知であろう. UCPACK を用いると, 閏年まで考慮した完ぺきな日付軸を作画することができる.
サブルーチン
UCXCAL
, UCYCAL
が日付に関する座標軸を描く.
最初の引数は, これまで通り, 座標軸を描く場所を指定する.
2つ目の引数は起日, つまり座標軸を描きはじめる最初の日であるが,
どのように与えたらよいかはこの例から明かであろう.
最後の引数で, 何日間分を描くかを指定する.
なお日付軸を描くときは,
日数を単位としてウインドウが設定してなければならない.
また座標軸の作画は, U座標系において0に相当する位置からおこなわれる.
たとえばこの例では, X方向のウインドウが[0.0, 90.0]として設定してあり,
0に対応する日付が1991年4月1日であるから, グラフの左端は1991年4月1日の
90日後の1991年6月30日となる.
なおこの例では, 右側の座標軸にもラベルを描くようにしてみた.
これまで, 下と上の軸, 左と右の軸をセットにして描きながら,
それぞれ下の軸と左の軸しかラベルが描かれなかった.
これは
UZ
pGET/
UZ
pSET
の管理する内部変数によって,
ラベルを描くか描かないかが制御されていたためである.
ここでは, 右側の座標軸に関して'LABELYR'
という内部変数を
.TRUE.
とすることによって,
右側の座標軸についてもラベルを描くよう指定した.
また,
つけるラベルのフォーマットを変更することができることも示してみた.
X軸については UXSFMT
によって,
Y軸については UYSFMT
によって,
いわゆるFORTRANでいうところの文字書式仕様を設定してやればよい.
何も設定しない場合(左の軸)と '(F6.2)'
を指定した場合(右の軸)の違いを見ていただきたい.
何も設定していないときには,
「有効数字3ケタで文字化し,
小数点以下に続く後方の0は取り除く,
さらに小数点が最下位ならそれも取り除く」ようなフォーマットが,
内部的に決定されて適用される.