DclDrawScaledGraphを用いて1本の折れ線をかいた後でも, 別のデータについて DclDrawLineを呼べば, 1つの図の中に何本も折れ線をかくことができます. しかしそのままでは追加した折れ線が座標軸からはみ出してしまう可能性があります.
下のプログラムはこのような場合の例で, DclScalingPointを用いて, 追加する折れ線が座標軸のスケーリング範囲に 含まれるように設定します.
program multi use dcl integer, parameter :: n=200, m=5 real, dimension(0:n) :: x, y0, y1, y2, t real, dimension(m) :: a !-- データ ---- do j=1,m a(j) = (-1)**j *2./((j*2-1)*DCL_PI) end do x = (/( real(i)/n, i=0,n )/) t = 2*DCL_PI*x y0 = -0.5 where (x >= 1./4. .and. x <= 3./4.) y0 = 0.5 y1 = a(1)*cos(t) y2 = 0. do j=1,m y2 = y2 + a(j)*cos((j*2-1)*t) end do !-- グラフ ---- call DclOpenGraphics() call DclNewFrame call DclScalingPoint( x, y0 ) call DclScalingPoint( x, y1 ) call DclScalingPoint( x, y2 ) call DclFitScalingParm call DclSetTransFunction call DclDrawScaledAxis call DclDrawLine ( x, y0, index=5 ) call DclDrawLine ( x, y1, type=3 ) call DclDrawLine ( x, y2, type=2, index=2 ) call DclCloseGraphics end program |
|
DclScalingPoint (USSPNT) |
グラフの中に含めたい座標点を設定する. |
DclSetTransFunction (GRSTRF) |
変換関数を確定する. |
* 括弧の中は、対応するf77インターフェイス名.