Next:日付軸の例--その2 Up:座標軸の描画 Previous:注文の多い目盛りうち

これはうれしい日付軸

データ解析をした人なら, 日付軸をつけることの面倒くささはご承知であろう. UCPACK を用いると, 閏年まで考慮した完ぺきな日付軸を作画することができる.


uxyz05.f:page1

サブルーチン UCXCAL, UCYCAL が日付に関する座標軸を描く. 最初の引数は, これまで通り, 座標軸を描く場所を指定する. 2つ目の引数は起日, つまり座標軸を描きはじめる最初の日であるが, どのように与えたらよいかはこの例から明かであろう. 最後の引数で, 何日間分を描くかを指定する. なお日付軸を描くときは, 日数を単位としてウインドウが設定してなければならない. また座標軸の作画は, U座標系において0に相当する位置からおこなわれる. たとえばこの例では, X方向のウインドウが[0.0, 90.0]として設定してあり, 0に対応する日付が1991年4月1日であるから, グラフの左端は1991年4月1日の 90日後の1991年6月30日となる.

なおこの例では, 右側の座標軸にもラベルを描くようにしてみた. これまで, 下と上の軸, 左と右の軸をセットにして描きながら, それぞれ下の軸と左の軸しかラベルが描かれなかった. これは UZpGET/UZpSET の管理する内部変数によって, ラベルを描くか描かないかが制御されていたためである. ここでは, 右側の座標軸に関して'LABELYR'という内部変数を .TRUE.とすることによって, 右側の座標軸についてもラベルを描くよう指定した.

また, つけるラベルのフォーマットを変更することができることも示してみた. X軸については UXSFMT によって, Y軸については UYSFMT によって, いわゆるFORTRANでいうところの文字書式仕様を設定してやればよい. 何も設定しない場合(左の軸)と '(F6.2)' を指定した場合(右の軸)の違いを見ていただきたい. 何も設定していないときには, 「有効数字3ケタで文字化し, 小数点以下に続く後方の0は取り除く, さらに小数点が最下位ならそれも取り除く」ようなフォーマットが, 内部的に決定されて適用される.

Source:uxyzpk/uxyz05.f


地球流体電脳倶楽部 DCL-5.0
Last modified: Wed Apr 30 13:59:59 1997