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

[dennou-ruby:003324] Re: DCLExt::datetime_ax / GGraph::__calendar_ax



堀之内様:

新しいメソッドとして作るという方針は了解しました。
(現状はとても汚い実装で、GGraph 側と datetime_ax 側にコードが
分散して、大変なことになっています。これから整理します。)

datetime_ax の構造の多くは再利用できそうなので、
そこを参考にもう一つメソッドを用意して、
GGraph 側で切り替えるようにします。

大塚

(2011/04/05 10:33), Takeshi Horinouchi wrote:
> 大塚さま:
> 
>> どこから DCLExt::datetime_ax に独自実装するかが
> 
> あ,もしかして,新機能を datetime_ax メソッド内に入れることを
> 考えてますか? DCLExt 内に新たにメソッドを作る(あるいは既に試作した)
> のかと思ってました.ローレベルは別にして,GGraph内で切り替える.
> そのほうがコードもコンパクトで見通し良く(メンテ性高く)できるのでは?
> 「コードの整理」という話がありましたが,別メソッドにすれば
> とりあえずは DCLExt::datetime_ax は触らないですみます.
> 
>> 年のラベルは UCPACK で描くのが良いでしょうか?
>>
>> とりあえず UCPACK を使うのが手間いらずなのですが、
>> コードに色々なレベルのものが混在するのは美しくはないですよね。
> 
> DCLExt 内につくる新メソッドでは,年を書くか書かないかはオプション
> 引数にすればいいでしょう.UCPACK を呼ぶかどうかはその中の話なので,
> どっちでもいいと思います.考えてるレイアウトが UCPACK で実現できる
> なら呼べばいいし,残念ながらできないなら諦めることになる,という
> 問題かと.
> 
> ところで,DCLExt::datetime_ax を改めてみてみたら,年を書くかどうか
> のオプションは既に作ってありますね(全てのラベルに年を書いてしまう
> ものなので,中身は改良したほうがいいでしょうが,ともかくインター
> フェースは用意されてる).
> 現状では GGraph内で datetime_ax を呼ぶところで,このオプションを
> 使うようになってないというだけのようです.
> 
> # ところで,ファイル dclext_datetime_ax.rb というのは
>     改名して構いませんよ.
> 
> 堀之内
> 
>> 堀之内様:
>>
>> 大塚です。
>>
>> 色々とアイデアをいただきありがとうございます。
>> コードの整理に時間がかかるかもしれませんが、
>> ぼちぼちと進めていこうと思います。
>>
>> 細かい事ですが、どこまで DCL の UCPACK をそのまま使い、
>> どこから DCLExt::datetime_ax に独自実装するかが
>> ちょっと悩みどころです。
>> 年のラベルは UCPACK で描くのが良いでしょうか?
>>
>> とりあえず UCPACK を使うのが手間いらずなのですが、
>> コードに色々なレベルのものが混在するのは美しくはないですよね。
>>
>> (2011/04/04 23:49), Takeshi Horinouchi wrote:
>>> 大塚さま:
>>>
>>>> DCLExt::datetime_ax および GGraph::__calendar_ax に、
>>>> 添付した画像のような座標軸を描く機能を入れたいのですが、
>>> ....
>>>> 一日の始まりと終わりが分かるようにしたいけれども
>>>> 時刻のラベルを貼ると重なって見えなくなるような期間、
>>>
>>> なるほど,現状では DCLのUCPACK ベースのと GPhys パッケージ内
>>> で定義した DCLExt::datetime_ax のいずれかが使われるわけですが,
>>> 前者だと日付を書くとことりにしか目盛をつけず,後者だと時間(hour)
>>> が入ってしまうので,そういうのも欲しくなりますね.良いと思います.
>>>
>>> それを組み込む場合,GGraph::axes のオプション time_ax に選択肢
>>> を追加すれば,時間による自動選択に加えて,どれかを強制的に使う
>>> 指定もできますね.
>>>
>>> # datetime_ax 利用のデフォルトの境界は,現状の5日未満よりちょっと
>>>      短くしたほうがいいでしょうか? (4日以下ぐらい?)
>>>
>>> ところで,datetime_ax は私が作りましたが,自分でも不満
>>> でなおしたいと思ってたことに,年が書けないというのが
>>> あります.大塚さんの新メソッドでも年がかけたほうが
>>> 嬉しいことが多くないでしょうか.年を書かない選択肢を
>>> 残すには,オプション制御にすればよいですね.(デフォルトは
>>> 年も書くほうがいい気がしますが,お任せします.やってみると
>>> いろいろ考えるところがあるでしょう.)
>>>
>>> ついでに虫のいいことをいうと,もしよければ,datetime_ax でも年が
>>> 書けるようにしていただけると嬉しかったりして...
>>> デフォルトが年を書くように変わっても私としては構わないです.
>>> (ggraph上で,年を書くかどうかのオプションは共通がいいかと.)
>>>
>>> # さらに面倒なつぶやき.datetime_ax の場合,月はすべての日に
>>>      つけてますが,その全部に年をつけるとちょっとうっとうしいかも.
>>>      途中で年が変わらない限り最初の日だけがいいかなぁ....
>>>
>>> # サンプルデータに時系列データがなくて,ggraph.rb のテスト部に
>>>      入れられないのは問題ですね.datetime_ax も使用例がなくて
>>>      (いまなら)ほとんど使われてないかも....
>>>
>>>> 大塚です。
>>>>
>>>> DCLExt::datetime_ax および GGraph::__calendar_ax に、
>>>> 添付した画像のような座標軸を描く機能を入れたいのですが、
>>>> 皆様のご意見はいかがでしょうか?
>>>>
>>>> 既存のものと違うと思っている部分は、
>>>> 1.Hour のラベルを描かない
>>>> 2.Month は Day と一緒に描くのではなく、DCL::ucxamn で別行に描く
>>>> です。
>>>>
>>>> 一日の始まりと終わりが分かるようにしたいけれども
>>>> 時刻のラベルを貼ると重なって見えなくなるような期間、
>>>> だいたい10〜20日程度の長さの座標軸を描く時を対象に考えています。
>>>>
>>>> 既存の GGraph だと5日以下は DCLExt::datetime_ax で、
>>>> Hour までラベル強制表示、
>>>> それ以上は DCL::ucxacl で、いきなり Day の目盛り・ラベルのみ
>>>> (一日のうちのどの時刻に目盛りが打ってあるのか分かりづらい)
>>>> になってしまうので、その中間の位置づけです。
>>>>
>>>> -- 
>>>> 京都大学大学院理学研究科
>>>> 気象学研究室
>>>> 大塚成徳 (Shigenori OTSUKA)
>>>> email: otsuka@xxxxxxxxxxxxxxxxxx
>>>>
>>>
>>> 堀之内 武
>>> 北海道大学 地球環境科学研究院 地球圏科学部門
>>>
>>
>>
>> -- 
>> 京都大学大学院理学研究科
>> 気象学研究室
>> 大塚成徳 (Shigenori OTSUKA)
>> email: otsuka@xxxxxxxxxxxxxxxxxx
> 
> 


-- 
京都大学大学院理学研究科
気象学研究室
大塚成徳 (Shigenori OTSUKA)
email: otsuka@xxxxxxxxxxxxxxxxxx