=begin =colorbar.rb Ruby-DCL でカラーバーを表示させるモジュール. ==USAGE MyTool::colorbar(min, max) * min : 最小値 * max : 最大値 なお, 利用するためには require "[directory]colorbar" としてモジュールを呼び出す必要がある. ==HISTORY 2004/11/13 北守太一 ver 0.1 ==REFERENCE このスクリプトを作成する上で京都大学の西澤さん作成の colorbar.rb (http://www.gfd-dennou.org/arch/ruby/products/dcl-toolbox/colorbar.rb) を参考にした. =end module MyTool require "numru/dcl" def colorbar(barmin, barmax) bar = NArray.sfloat(2, 11) delta = (barmax - barmin) / 10 # 目盛間隔の設定 # 軸目盛のフォーマット dec = - Math::log10(delta) dec = dec.to_i + 1 dec = dec.to_s format = '(F6.'+dec+')' # カラーバーを描く DCL::grswnd(0.0, 1.0, barmin, barmax) DCL::grsvpt(0.85, 0.88, 0.2, 0.6) # カラーバーを描く範囲の指定 DCL::grstrn(1) DCL::grstrf for k in 0..10 bar[0,k] = barmin + k*delta # 目盛の値の設定 bar[1,k] = barmin + k*delta end DCL::uwsgxa([0.0,1.0]) DCL::uwsgya(bar[0,0..10]) DCL::uetone(bar) # トーンをつける DCL::slpvpr(3) DCL::uzlset('LABELYR', true) DCL::uzfact(0.9) # DCL::uysfmt('(F6.3)') DCL::uysfmt(format) DCL::uyaxdv('R', 2*delta, delta) # 目盛をつける end module_function :colorbar end