次のプログラム例 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 ENDPROGRAM U1D1