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