Next:対数座標のグラフを描く Up:1次元量の表示 Previous:概要

とりあえずグラフを描く

一刻も早く計算結果のグラフが見たい!! そんな時 USGRPH は, たったの 1 行 (GROPN等を含めて 4 行) でデータをグラフ化してくれる.


uspk01.f:page1

しかも, uspk01.f の様に意地の悪いデータが与えられても, Y 軸に 1.00005 等という不細工なラベルを付けて, ラベルが描画範囲を越えてしまう様なことはない. USGRPH は与えられたデータから適当な目盛間隔や ラベルの間隔を求めて座標軸を描くが, この時のラベルの文字数が大きすぎる場合には, この例のようにファクター値やオフセット値を適当に選んで軸の端に表示し, ラベルが適当な文字数におさまるようにする. この最大文字数は USpGET/USpSET が管理する内部変数 'MXDGTX'/'MXDGTY' により設定できる.

この例では, GRPH1/GRPH2 を使う時のお作法である変換関数の設定に 関するルーチン群が見あたらない. というのは, USGRPH がその内部で, 与えられたデータから適当な変換関数を設定しているからである. (具体的に, 内部でおこなわれている動作に関しては, 次節以降でおりにふれ説明する. )

なお, 添字には少し小さな字を使うので, 分解能の低いワークステーションではこの添字が識別できないことがあるが, そのような時には GROPNの後に

      CALL SGLSET('LCNTL', .FALSE.)
を入れると, 添字を使わない表現になる. この内部変数 'LCNTL'は, SGTXU などで上つき下つきなどの 制御コードを有効にするかどうかを指定するものであるが, USGRPH はこの内部変数 'LCNTL' を調べて適切な表現をする. なお, 'LCNTL' の標準値は .FALSE.であるが, GROPNの内部で.TRUE.に設定されている.

また, データの変化がデータ自身の大きさに比べて小さすぎて, 計算誤差程度しかない時は, これを定数と見なし, この定数と 0 を含む様にスケーリングする. (この計算誤差は, GLpGET/GLpSET が管理する内部変数 'REPSL' をもとに判断する.) さらに, データが全て 0 の場合には最大値・最小値をそれぞれ -1, 1 とする.

Source:uspack/uspk01.f


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