座標軸は 'B', 'T', 'L', 'R' で指定する 以外のところにも描くことができます. また, 軸の表現もいろいろ変えられま す(UXYZ7).
#
# uxyz7.rb
require "narray"
require "numru/advanceddcl"
include NumRu::AdvancedDCL
include NMath
#-- graph ---
Dev.open
Frame.new
Fig.window=[1990.0, 1995.0, -2.0, 2.0]
Fig.viewport=[0.2, 0.8, 0.3, 0.7]
Fig.transnum=1
Axis::Lin.uyuser = 0.0
Axis::Lin.lbtwn = true
Axis::Lin.cxfmt = '(I4)'
Axis::Lin.xaxdv('U', 0.25, 1.0)
Axis::Lin.lbtwn = false
Axis::Lin.xsttl('U', 'YEAR', 1.0)
Axis::Lin.inner = -1
Axis::Lin.cyfmt = '(F4.1)'
Axis::Lin.yaxdv('L', 0.25, 1.0)
Axis::Lin.ysttl('L', 'S.O.Index', 0.0)
Axis::Lin.xmttl('T', 'UXAXDV/UYAXDV', 0.0)
Dev.close
  
 
PROGRAM UXYZ7  
 
  
  
座標軸をウインドウ・ビューポートの境界線以外のところへ描きたいときには,  
場所をあらわす引数としてユーザー指定の座標軸 'U' を指定します.   
この例では Axis::Lin.xaxdv と Axis::Lin.xsttl のメソッ
ドで 'U' を  
指定して, 座標軸とタイトルを描いています. 具体的にどこに軸を描くかは,
x軸についてはパラメタ uyuser   
の値を, y軸についてはパラメタ uxuser の値を指定ます. この例  
の場合, uyuser を0.0と指定することによって, U-座標系でみたy座標の値が0.0のところにユーザー指定のx軸を描きます.  
  
  
  
  
また, この例のx軸では, 目盛と目盛の間にラベルを描いてみました.
パラメタ lbtwn を .TRUE. とすれば, 目  
盛と目盛の間にラベルを描きます. ただし, 注意すべきことは, ほかの座標軸  
を描くときにもこの設定が影響しますので, ラベルを描き終ったら .FALSE.(初期値)に戻しておく必要があります.  
  
  
  
  
さらに, パラメタcxfmt によってフォーマットを '(I4)' と陽に指定しています. これは, デフォルトでは有効数字3桁で数値  
を表現するフォーマットとなっているためで, 4桁目までちゃんと表現する必  
要があるときには, このようにユーザーがフォーマットを指定しなければなり  
ません.  
  
  
  
y軸では, パラメタ inner を-1に設定して, 目 盛を外向きにつけました. (初期値は1で, 内向きに目盛をつけます.) また, パラメタcyfmt によってフォーマットを '(F4.1)' と陽に指定し ました.