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

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



大塚さま:

> どこから 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