(Tips) 座標軸の値・単位・名前を変更する

作成者:加藤 亮平

概要

GPhys の GGraph を使って描画する際, 座標軸の値・単位・名前を変更する方法を記します. 例えば, 以下のようなことができます.

  • (例1)単位が m で定義されている z 座標の値を km に変換して図示する
  • (例2)座標軸の単位・名前を陽に変更する

ダウンロード

(例1)単位が m で定義されている z 座標の値を km に変換して図示する

まず, "axis_sample_default.rb"

require "numru/ggraph"
include NumRu
var = GPhys::IO.open('U.nc', 'U')
DCL.gropn(4)
GGraph.tone_and_contour( var )
DCL.grcls

$ ruby axis_sample_default.rb

により, そのまま描くと

axis_sample_default.png

となる. この場合, z軸の単位が (×10^5 m) のように "m" での表示になり, 何 "km" か分かりにくい. そこで, 座標軸 "z" を 1000 で割り, "km" 単位の座標軸を新たに定義することを試みる. そのためには, 上記プログラムの "DCL.gropn(4)" の前に以下の2行を付け加えればよい.

z1 = var.axis("z").pos * 1e-3 
var.axis("z").set_pos(z1)

"axis_sample_value.rb"

$ ruby axis_sample_value.rb

axis_sample_value.png

これにより, z軸の値が km の単位に変換された. しかし, このままでは, 単位記号 (m) のままである. そこで, 次に単位記号や軸の名前を陽に変更する方法する方法を記す.

(例2)座標軸の単位・名前を陽に変更する

long_name や units メソッドを使うことで, 軸の名前や単位も陽に変更することができる.

z1.long_name = "altitude"
z1.units = Units["km"]
var.axis("z").set_pos(z1)

"axis_sample_value_name_unit.rb"

$ ruby axis_sample_value_name_unit.rb

axis_sample_value_name_unit.png

z軸の名前が Z-cordinate から altitude に, 単位記号が (m) から (km) に変更された.

(例1)の別の方法

座標軸の単位を変える."z"軸の単位が m だとして,

z1 = var.axis("z").pos.convert_units( Units["km"] )
var.axis("z").set_pos(z1)

とすると, 値が 1/1000 になり,単位も m から km に更新される.

"axis_sample_convert_units.rb"

$ ruby axis_sample_convert_units.rb

axis_sample_convert_units.png

つまり,

z1 = var.axis("z").pos.convert_units( Units["km"] )

z1 = var.axis("z").pos * 1e-3 
z1.units = Units["km"]

2行分と同じ意味である.

参照

謝辞

本 Tips の大部分は 堀之内 武 さんの助言によるものです. ありがとうございました.

更新日時:2011/02/22 21:37:13
キーワード:[座標軸]
参照: