次のプログラム例 U1D1 では, x 方向には [1945, 1995] の範囲で等 間隔に点をとり, y 方向には配列yで与えられた座標値を結んで折れ 線を描きます. Plot.draw メソッドで x を指定するかわ りに rundef を指定する(つまり, x は定義されていないと宣言 する)と, Plot.draw は x 座標値がウインドウの幅いっぱいに等間隔に ならんでいるものと解釈してグラフを描きます. このとき, Plot.draw が 呼ばれる前に x 方向のウインドウは決まっていないといけませんから, Fig のパラメタwindow で x 方向だけを陽に与えています. ここでも, y 方向は未定義にします. なお, rundef の値は, Common.getメソッドで参照していま す.
#
# u1d1.rb
require "narray"
require "numru/advanceddcl"
include NumRu::AdvancedDCL
include NMath
nmax = 51
xmin = 1945
xmax = 1995
y = NArray.sfloat(nmax)
#-- data ----
y0 = 0.5
for n in 0..nmax-1
  y[n] = 5.0*y0 + 10.0
  y0 = 3.7*y0*(1.0-y0)
end
rundef = Common.rundef
#-- graph ----
Dev.open
Frame.new
Fig.window = [xmin, xmax, rundef, rundef]
Axis.title('TIME', 'YEAR', 'TEMPERATURE', 'DEG')
Plot.draw(rundef, y)
Axis.draw
Dev.close
    
PROGRAM U1D1    
