前節と同様に, y 方向に座標値が等間隔な場合にも, Y を指定するか わりに RUNDEF を指定します. 次のプログラム U1D2 では, USSPNT, UUMRK, UULIN の各ルーチンで Y を未定義値と しています. ここでは USSPNT ルーチンを使ってウインドウを決め, ビュー ポートの設定は初期値に頼りますので, GRSTRF ルーチンの前に USPFIT を呼んでいることを再確認しておきましょう. なお, 変換関数番号を 3として, 片対数座標にしています.
PROGRAM U1D2 PARAMETER( NMAX=50, YMIN=0., YMAX=50. ) REAL X1(0:NMAX), X2(0:NMAX) *- データ -- ISEED = 1 DO 10 N=0,NMAX Y = YMIN + (YMAX-YMIN)*N/NMAX X1(N) = 10.*(EXP(-Y/20))**2 * EXP((RNGU3(ISEED)-0.5)*2)**2 X2(N) = 10.*(EXP(-Y/20))**2 10 CONTINUE CALL GLRGET( 'RUNDEF', RUNDEF ) *- グラフ -- WRITE(*,*) ' WORKSTATION ID (I) ? ;' CALL SGPWSN READ (*,*) IWS CALL GROPN( IWS ) CALL GRFRM CALL GRSWND( RUNDEF, RUNDEF, YMIN, YMAX ) CALL USSPNT( NMAX+1, X1, RUNDEF ) CALL USSPNT( NMAX+1, X2, RUNDEF ) CALL GRSTRN( 3 ) CALL USPFIT CALL GRSTRF CALL USSTTL( 'MIXING RATIO', 'ppmv', 'HEIGHT', 'km' ) CALL USDAXS CALL UUSMKT( 2 ) CALL UUMRK( NMAX+1, X1, RUNDEF ) CALL UULIN( NMAX+1, X2, RUNDEF ) CALL GRCLS ENDPROGRAM U1D2