6.4 中途半端なウインドウ

ウインドウの最小値・最大値は必ずしも切りのよい値でなくても大丈夫です. UXYZ4 のプログラム例では, x軸については-50から50の範囲で, y軸については1000から0.4の範囲でウインドウを設定しています. このと き, Axis::Lin.xaxdv はきざみ値の整数倍となるところに目盛とラベルを描きま す. また, Axis::Log.ydraw は10nから10n+1を1サイクルとして目盛とラ ベルを描きます. このように, 目盛やラベルは切りのよいサイクルを単位とし て作画がおこなわれます. さらに, 好みの間隔で目盛をうち, 好みのところに ラベルを描きたい場合は, 次章を見て下さい.

なお, この例では, Axis::Log.ydraw を用いて対数座標軸を描画す る際に, Logモジュールの整数型パラメタ iytype を3に変更してラベルの 書式を変えました. 対数軸に付けるラベルの書式は全部で4種類用意されてい ます.

#
# uxyz4.rb

require "narray"
require "numru/advanceddcl"
include NumRu::AdvancedDCL
include NMath


#-- graph ---
Dev.open

Frame.new

Fig.window=[-50.0, 50.0, 1.0e3, 0.4]
Fig.viewport=[0.2, 0.8, 0.2, 0.8]
Fig.transnum=2

Axis::Lin.xaxdv('B', 5.0, 20.0)
Axis::Lin.xaxdv('T', 5.0, 20.0)
Axis::Lin.xsttl('B', 'LATITUDE (deg)', 0.0)

Axis::Log.iytype= 3
Axis::Log.ydraw('L', 3, 9)
Axis::Log.ydraw('R', 3, 9)
Axis::Lin.ysttl('L', 'PRESSURE (hPa)', 0.0)

Axis::Lin.xmttl('T', 'UXAXDV/ULYLOG', 0.0)

Dev.close

PROGRAM UXYZ4

\resizebox{10cm}{!}{\includegraphics{uxyz1/uxyz4.eps}}
uxyz4.rb: frame1