DclDrawScaledGraphルーチンを使うと, 容易に折れ線グラフが描けます. しかし, 座標軸にタイトルや単位をつけてお かないと, 後で何のグラフだったのかわからなくなってしまいます. 下のプログラムのように, DclSetTitleを使えば, 座標軸のタ イトルや単位を簡単に描くことができます.
DclDrawScaledGraphで座標軸にタイトルを付けるには, DclDrawScaledGraphの前にDclSetTitleの1番目・2番目の引数で X軸とY軸のタイトルや単位を設定します(タイトルは80文字まで設定可能).
また, DclDrawScaledGraphではファクター値やオフセット値を描くために サブラベル(座標軸の端に付け足すラベル)を描くことができます. 座標軸の単位などもこのサブラベルに含めることができるようにしてあり, これらはDclSetTitleの3番目・4番目の引数で設定します (F77のUSSTTLルーチンとは引数の順序が変更されています). ここで指定した文字列は, ファクター値やオフセット値がある場合 これらの後に書かれる.
なお, これらのタイトルや単位は DclNewFrame, DclNewFig により初期化されます.
また, DclSetTitleを使わずに, DclDrawTitleなどのタイトル作画ルーチンを使って 独自に適当なタイトルを付けることもできます.
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 |
|
DclDrawScaledAxis (USDAXS, USXAXS, USYAXS) |
おまかせ座標軸を描く. |
DclSetTitle (USSTTL) |
座標軸のタイトルを設定する. |
DclDrawTitle (UXMTTL,UYMTTL, UXSTTL,UYSTTL) |
タイトルを描く. |
* 括弧の中は、対応するf77インターフェイス名.