[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:003576] color_bar メソッドでカラーバーが描かれないときの挙動
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:003576] color_bar メソッドでカラーバーが描かれないときの挙動
- From: TSUJINO Satoki <tsujino.satoki@xxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 26 Jun 2012 20:50:54 +0900
gphys 開発グループ御中,
名古屋大学の辻野です.
gphys-1.2.2 の dclext.rb 内のカラーバー描画メソッド
color_bar の挙動についてですが,
このメソッドはカラーで描く変数の最大最小値を比較し,
これらの値が同じ場合, カラーバーを描かないようになっています.
しかし, color_bar 内で最大最小値の比較をする前に設定された
文字の大きさ等が元の値に戻されることなくメソッドを抜けるので,
カラーバーが描かれない場合に限り, color_bar を複数呼び出すと,
その都度グラフ全体の文字の大きさが変わってしまいます.
これはそういう仕様なのでしょうか.
もし意図した挙動でないのであれば, メソッドを抜ける直前に
文字設定等を元に戻す処理を施したパッチを以下に添付致しましたので,
修正して頂ければと思います.
意図した挙動でしたら申し訳ございません.
--
------------------------
Satoki TSUJINO
Hydrospheric Atmospheric Research Center,
Nagoya University (JAPAN),
Furo-cho, Chikusa-ku, Nagoya-city,
ZIP : 464-8601
TEL : 81-52-789-3494
E-mail : satoki@xxxxxxxxxxxxxxxxxxxxxxxxx
URL : http://www.rain.hyarc.nagoya-u.ac.jp/~satoki/index.html
------------------------
--- dclext.rb.org 2012-06-26 19:45:53.000000000 +0900
+++ dclext.rb 2012-06-26 19:45:39.000000000 +0900
@@ -1833,6 +1833,14 @@
if levels[0] == rmiss
inf0 = true
dummy1,dummy2,ipat0 = DCL::ueqtlv(1)
+
+##### modified by satoki
+ DCL::uziset("indext1",indext1_bk)
+ DCL::uziset("indext2",indext2_bk)
+ DCL::uziset("indexl1",indexl1_bk)
+ DCL::uzrset("rsizel1",rsizel1_bk)
+##### modified by satoki
+
return if levels.length==2
else
inf0 = false
@@ -1840,6 +1848,14 @@
if levels[-1] == rmiss
inf1 = true
dummy1,dummy2,ipat1 = DCL::ueqtlv(nton)
+
+##### modified by satoki
+ DCL::uziset("indext1",indext1_bk)
+ DCL::uziset("indext2",indext2_bk)
+ DCL::uziset("indexl1",indexl1_bk)
+ DCL::uzrset("rsizel1",rsizel1_bk)
+##### modified by satoki
+
return if levels.length==2
else
inf1 = false