program sample_1d04 use dcl integer, parameter :: n=200 real(kind=selected_real_kind(12)) :: x=0.d0, y=1.d0, z=1.d0 real(kind=selected_real_kind(12)) :: dx, dy, dz, dt=0.01d0 real(kind=selected_real_kind(12)) :: s=10.d0, r=26.d0, b=2.6d0 real, dimension(n) :: t, a !----------------------------------------------------------------------- do i=1, n do j=1, 8 dx = -s*x + s*y dy = -x*z + r*x - y dz = x*y - b*z x = x + dx*dt y = y + dy*dt z = z + dz*dt end do t(i) = (i-1)*1000 a(i) = y + 20. end do !----------------------------------------------------------------------- call DclOpenGraphics() call DclNewFrame call DclSetTitle ('Time', 'Heat Flux', 'Sec', 'W/m|2"') call DclDrawScaledGraph(t, a) call DclCloseGraphics end program |
|
とにかくグラフは描けるようになった. しかし, 座標軸にタイトルがないと何のグラフだったかわからなくなってしまう.
USSTTLを使えば, X軸とY軸のタイトルや単位を 描くことができる. これらは, 以下に述べるように USCGET/USCSETが管理する 内部変数を設定してやることによっても指定できる. また, USSTTLや USCSETを使わずに, USGRPHを呼んだ後でUXPACK/UYPACKのタイトル作画ルーチンを 使って適当なタイトルを付けてもよい.
USGRPHで座標軸にタイトルを付けるには, USGRPHの前にUSCSETを使って, 内部変数'CXTTL', 'CYTTL'を設定しておけばよい (タイトルは80文字まで設定できる).
また, USGRPHではファクター値やオフセット値を描くために USXSUB/USYSUBというサブラベル(座標軸の端に付け足すラベル)を 描くためのルーチンを用意したので, ついでに座標軸の単位などもこのサブラベルに含めることができるようにしてある. これも, タイトルと同様にUSCSETで'CXUNIT', 'CYUNIT'を設定すればよい. ここで指定した文字列は, ファクター値やオフセット値がある場合 これらの後に書かれる.
なお, タイトル等はGRFRM, GRFIGにより初期化される. 同じタイトルで沢山の図を描きたい時にはUSISETで 'IRESET'を0にすれば, タイトルの設定は1度で済む.