DclDrawScaledGraphを用いて1本の折れ線をかいた後でも、別のデータについて DclDrawLineを呼べば、1つの図の中に何本も折れ線をかくことができます。 しかしそのままでは追加した折れ線が座標軸からはみ出してしまう可能性があります。
sample13.f90はこのような場合の例で、 DclScalingPointを用いて、追加する折れ線が座標軸のスケーリング範囲に 含まれるように設定します。
program sample13
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インターフェイス名.