同じ様な図形を沢山並べたい時, Dev.open のあとで 
Frame.divメソッド     
を呼ぶと, 第1レベルめ(用紙全体)のフレームが分割され, 次のレベルのフレー     
ムが定義されます.  分割されたフレームをあたかも1枚の紙のように扱って,     
Frame.new の実行により, 次のフレームに自動的に移っていきます.      
     
     
     
次のプログラム LAY1 では, ループの中で, 普通に改 ページをしながら描画するのと同じように, Frame.new と Plot.draw を 呼んで折れ線グラフを描いています. Frame.new メソッドでは 3×2=6分割していますから, 7番めの図は自動的に次のページに移って います. また, 第5.2節の出力結果と比較して, 文字の大きさが 分割されたフレームの大きさに応じて小さくなっていることにも注意して下さ い.
CFORM (文字型) フレームを順に割り付けていく方向. 'T':縦方向, 'Y':横方向. IX, IY (整数型) x 方向, y 方向の分割数. 
#
# lay1.rb
require "narray"
require "numru/advanceddcl"
include NumRu::AdvancedDCL
include NMath
nmax = 401
jmax = 51
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.div('Y', 3, 2)
for i in 1..8
  Frame.new
  j = (i-1)*(jmax-1)
  xmin = j + 1600.0
  xmax = xmin + jmax - 1
  Fig.window = [xmin, xmax, rundef, rundef]
  Axis.title('TIME', 'YEAR', 'TEMPERATURE', 'DEG')
  
  Plot.draw(rundef, y[j..j+jmax-1])
  Axis.draw
end
Dev.close
     
PROGRAM LAY1    
 
     
