次のプログラム JUMP2 は両対数座標のグラフを描く例です. Fig モ
ジュールのパラメタtransnumで正規化変換の変換関数番号を4に指定します.
対数座標軸の描画も Axis.draw ルーチンにおまかせ下さい. ここで, Axis.title ルーチンで指定する文字列ですが, '|', '"' など の制御文字を使うと上付や下付の添字も描けます.
' |' 上付添字の始まり ' _' 下付添字の始まり ' "' 上付または下付添字の終わり 注意: 文字列が添字で終る場合でも, 最後に必ず '"'を入れて通常 の文字モードに戻すこと.
# # jump2.rb require "narray" require "numru/advanceddcl" include NumRu::AdvancedDCL include NMath nmax = 100 x = NArray.sfloat(nmax) y = NArray.sfloat(nmax) #-- data ---- r = 0.2 r0 = 0.0 for i in 0..nmax-1 r = 3.6*r*(1-r) r0 += r*4 - 2.58 x2 = (i-49.0)**2 rexp = 4.0*(i+1)/nmax x[i] = 10**rexp y[i] = 1.0e5*exp(-x2) + 10.0**r0 end y[19] = 1.0e4 y[39] = 2.0e3 y[64] = 3.0e4 y[69] = 5.0e2 #-- graph ---- Dev.open Frame.new Fig.window = [1.0e0, 1.0e4, 1.0e-1, 1.0e6] Fig.viewport = [0.2, 0.8, 0.2, 0.8] Fig.transnum = 4 Axis.title('FREQUENCY', '/s', 'POWER', 'm|2"/s|2"') Axis.draw Plot.draw(x, y) Dev.closePROGRAM JUMP2
jump2.rb: frame1