[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003594] Re: GGraphで時間軸を下向きにしたい。



中野です。

何度もすみません。
tlenが正数じゃないのが気にくわなくなったので
とりこんでいただけるならこちらをお使いください。

よろしくお願いいたします。

--- ggraph.rb.org	2012-04-20 12:55:51.890580151 +0900
+++ ggraph.rb	2012-10-19 16:30:15.442579467 +0900
@@ -1561,10 +1561,15 @@
         t0 = window[2]
         t1 = window[3]
       end
-      time = UNumeric.new(t0,sunits)
+      reverse = t0 > t1
+      if not reverse then
+        time = UNumeric.new(t0,sunits)
+      else
+        time = UNumeric.new(t1,sunits)
+      end
       tstr = time.to_datetime(0.1,calendar)
       jd0 = tstr.strftime('%Y%m%d').to_i
-      tlen = tun.convert( t1-t0, dayun )
+      tlen = tun.convert( t1-t0, dayun ).abs
       if !axtype
         if tlen < 5
           axtype = 'h'
@@ -1574,7 +1579,11 @@
       end

       if xax
-        DCL.grswnd(0.0, tlen, window[2], window[3] )
+        if not reverse then
+          DCL.grswnd(0.0, tlen, window[2], window[3] )
+        else
+          DCL.grswnd(tlen, 0.0, window[2], window[3] )
+        end
         DCL.grstrf
         if axtype == 'h'
           opts = {'cside'=>side}
@@ -1587,7 +1596,11 @@
         DCL.grswnd(*window)
         DCL.grstrf
       else
-        DCL.grswnd(window[0], window[1], 0.0, tlen)
+        if not reverse then
+          DCL.grswnd(window[0], window[1], 0.0, tlen)
+        else
+          DCL.grswnd(window[0], window[1], tlen, 0.0)
+        end
         DCL.grstrf
         if axtype == 'h'
           opts = {'yax'=>true, 'cside'=>side}

2012年10月19日 16:01 Masuo Nakano <masuo@xxxxxxxxxxxxxx>:
> 中野です。
> 自己レスです。
>
> とりあえず、時間軸で時間(hour)を解像しない場合だけですが
> 対応してみました。
> おおかたの人はこれでもの足りますかね。
>
> あまり美しくない気もするのですが
> 以下にgphys-1.2.2に対するパッチを付けておきます。
>
> これで
> GGraph.set_fig("window"=>[nil, nil,30, 0])
> とかやるとy軸(時間軸)がひっくり返ります。
>
> よろしくお願いいたします。

--古いパッチは削除--

> 2012/10/19 Masuo Nakano <masuo@xxxxxxxxxxxxxx>:
>> 電脳rubyのみなさま
>> 中野です。
>>
>> GGraphで
>> 時間軸が下向きのホフメラ図をかきたいのですが、
>> どうしたらよいのでしょうか?
>>
>> GGraph.set_fig
>> の
>> "window"設定でuymin > uymaxとなるように設定すると、一瞬それらしい図は出るのですが
>> 軸をかくところでこけるらしく、
>> /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/dcl.rb:2427:in
>> `uyplbl': [UYPLBL] NUMBER OF POINTS IS INVALID. (RuntimeError)
>>         from /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/dcl.rb:2427:in `uyplbl'
>>         from /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/dclext_datetime_ax.rb:148:in
>> `datetime_ax'
>>         from /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/ggraph.rb:1596:in
>> `__calendar_ax'
>>         from /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/ggraph.rb:1678:in
>> `block in axes'
>>         from /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/ggraph.rb:1676:in `each'
>>         from /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/ggraph.rb:1676:in `axes'
>>         from /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/ggraph.rb:2465:in
>> `axes_or_map_and_ttl'
>>         from /home/masuo/cc-env/lib/ruby/site_ruby/1.9.1/numru/ggraph.rb:2682:in `tone'
>>         from draw_olr_xt.rb:17:in `<main>'
>> といわれました。
>>
>> "yreverse"=>"positive:down"
>> は効きませんでした。
>>
>> よろしくお願いいたします。
>>
>>
>> --
>> Masuo NAKANO, PhD
>> Global Cloud-Resolving Modeling Research Team,
>> RIGC, JAMSTEC
>> 3173-25 Showa-machi, Kanazawa-ku
>> Yokohama-city, 236-0001, JAPAN
>> TEL: +81-45-778-5616
>
>
>
> --
> Masuo NAKANO, PhD
> Global Cloud-Resolving Modeling Research Team,
> RIGC, JAMSTEC
> 3173-25 Showa-machi, Kanazawa-ku
> Yokohama-city, 236-0001, JAPAN
> TEL: +81-45-778-5616



-- 
Masuo NAKANO, PhD
Global Cloud-Resolving Modeling Research Team,
RIGC, JAMSTEC
3173-25 Showa-machi, Kanazawa-ku
Yokohama-city, 236-0001, JAPAN
TEL: +81-45-778-5616