次のプログラム例 U1D1 では, x 方向には [1945, 1995] の範囲で等 間隔に点をとり, y 方向には配列Yで与えられた座標値を結んで折れ 線を描きます. 25行めの USGRPH ルーチンで X を指定するかわ りに RUNDEF を指定する(つまり, X は定義されていないと宣言 する)と, USGRPH は x 座標値がウインドウの幅いっぱいに等間隔に ならんでいるものと解釈してグラフを描きます. このとき, USGRPH が 呼ばれる前に x 方向のウインドウは決まっていないといけませんから, GRSWND ルーチンで x 方向だけを陽に与えています. ここでも, y 方向は未定義にして, 正規化変換の確定は USGRPH におまかせします. なお, RUNDEF の値は, 13行めの GLRGETルーチンで参照していま す.
PROGRAM U1D1
PARAMETER( NMAX=51, XMIN=1945, XMAX=1995 )
REAL Y(NMAX)
*- データ --
Y0 = 0.5
DO 10 N=1,NMAX
Y(N) = 5.*Y0 + 10.
Y0 = 3.7*Y0*(1.-Y0)
10 CONTINUE
CALL GLRGET( 'RUNDEF', RUNDEF )
*- グラフ --
WRITE(*,*) ' WORKSTATION ID (I) ? ;'
CALL SGPWSN
READ (*,*) IWS
CALL GROPN( IWS )
CALL GRFRM
CALL GRSWND( XMIN, XMAX, RUNDEF, RUNDEF )
CALL USSTTL( 'TIME', 'YEAR', 'TEMPERATURE', 'DEG' )
CALL USGRPH( NMAX, RUNDEF, Y )
CALL GRCLS
END
PROGRAM U1D1