折れ線を描くポリラインプリミティブには, 次の2つの属性があります.
プログラム KIHON2 では, これらの属性がどのように指定できるかを示
します. 正弦曲線を Plot.vdraw メソッドで描いていますが, 一番上の線が
ラインインデクスが初期値(1)の場合です. 次からの3本は, テンポラリなパラ
メタ設定を用いて
この値を4, 6, 8と変えて描いた結果です. 線を描いた後ラインインデクスは
初期値(1)に戻ります。ラインインデクスが大きくなるにつれて, 線が太くなります.
Frame.new メソッドを呼んで次のフレームを設定し, 今度はライ
ンタイプを変えて描いています. ラインタイプとは, 実線, 破線などの線種で
すが, 1から4までの番号にはあらかじめ次のタイプが決められています. 1:
実線, 2: 破線, 3: 点線, 4: 1点鎖線. 初期値は1で, 単に
Plot.vdraw メソッドを呼ぶと実線で折れ線を描きます. そういえば, frame1 の結果も実線でし
た. Plot.lineindex= メソッドでこの値を2, 3, 4と変えて描いた結果
が frame2 です.
ラインタイプには, まだまだいろんな種類があり, ユーザーがそれぞれの好み の線種を指定することが可能です. それは第3.2節で詳しく説 明することにしましょう.
# # kihon2.rb require "narray" require "numru/advanceddcl" include NumRu::AdvancedDCL include NMath nmax = 40 imax = 4 dt = 4.0*PI/nmax x = NArray.sfloat(nmax+1) y = NArray.sfloat(nmax+1, imax) #-- data ---- x = x.indgen * 1.0/nmax for n in 0..nmax for i in 0..imax-1 y[n,i] = 0.2*sin(n*dt) + 0.8 - 0.2*i end end #-- graph ---- Dev.open #-- line index : frame 1 -- Frame.new Frame.pvpr(1) for i in 0..imax-1 Plot.vdraw(x, y[true,i], "lineindex"=>2*(i+1)) end #-- line type : frame 2 -- Frame.new Frame.pvpr(1) for i in 0..imax-1 Plot.linetype=i+1 Plot.vdraw(x, y[true,i]) end Dev.closePROGRAM KIHON2