4.3 対数座標

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

PROGRAM JUMP2

\resizebox{10cm}{!}{\includegraphics{jump/jump2.eps}}
jump2.rb: frame1