最後のプログラム UXYZ8 では, 同じ側に2本以上の座標軸を別の目盛  
で描こうという時の実例です.   
  
  
  
  
軸を外側へずらしたい, または, すでに描いた軸の外側にもう一本軸を描きた  
いというときは, x軸については UXSAXS ルーチンを, y軸について  
は UYSAXS ルーチンを呼ぶだけです. 引数は, 場所を指定するおなじみ  
の引数です. これらのルーチンを呼ぶと, 次の軸は内側の軸と重ならない程度  
に適度に外側に描かれます. これを何回も使えば, 簡単にいくつもの軸を一つ  
の側に描かせることができます.  
  
  
  
1つの側に複数の軸を描こうとする時, そのためにいちいちウインドウを設定 し直す必要はありません. この例では, y座標のウインドウとしてセ氏温度 で0度から100度の範囲で設定したのですが, 換算の便のためにケルビンやカ氏 の目盛りもあわせて描いています. ウインドウ設定に影響を与えず, 目盛りだ けを変えて複数の座標軸を描きたいときは, オフセット機能を用います. その ためにまず UZLSET ルーチンで内部変数 'LOFFSET' を .TRUE. にしておきます. そして, 必要なところで, UZRSET ルーチン で内部変数 'YOFFSET' と 'YFACT' (x軸については 'XOFFSET' と 'XFACT')を設定すると, 目盛の位置が 'YOFFSET' だけ平行移動し, 目盛の間隔が 'YFACT' 倍されます.
      PROGRAM UXYZ8
      PARAMETER( ID0=19911201, ND=180, RND=ND )
      WRITE(*,*) ' WORKSTATION ID (I)  ? ;'
      CALL SGPWSN
      READ (*,*) IWS
      CALL GROPN( IWS )
      CALL UZFACT( 0.7 )
      CALL UZLSET( 'LOFFSET', .TRUE. )
      CALL GRFRM
      CALL GRSWND( 0.0, RND, 0.0, 100. )
      CALL GRSVPT( 0.4, 0.9, 0.3,  0.8 )
      CALL GRSTRN( 1 )
      CALL GRSTRF
      CALL UCXACL( 'B', ID0, ND )
      CALL UCXACL( 'T', ID0, ND )
      CALL UXSAXS( 'B' )
      CALL UXAXDV( 'B', 10., 20. )
      CALL UXSTTL( 'B', 'DAY NUMBER', 0. )
      CALL UYAXDV( 'L', 5., 10. )
      CALL UYAXDV( 'R', 5., 10. )
      CALL UYSTTL( 'L', 'CELSIUS SCALE', 0. )
      CALL UYSAXS( 'L' )
      CALL UZRSET( 'YOFFSET', 273.15 )
      CALL UZRSET( 'YFACT  ', 1. )
      CALL UYAXDV( 'L', 5., 10. )
      CALL UYSTTL( 'L', 'KELVIN SCALE', 0. )
      CALL UYSAXS( 'L' )
      CALL UZRSET( 'YOFFSET', 32. )
      CALL UZRSET( 'YFACT  ', 1.8 )
      CALL UYAXDV( 'L', 10., 20. )
      CALL UYSTTL( 'L', 'FAHRENHEIT SCALE', 0. )
      CALL UXSTTL( 'T', '(LOFFSET=.TRUE.)', 0. )
      CALL UXMTTL( 'T', 'UXSAXS/UYSAXS', 0. )
      CALL GRCLS
      END
  
PROGRAM UXYZ8  
 
  
