- PR -

JFreechartで範囲を指定して棒グラフを作成

投稿者投稿内容
未記入
会議室デビュー日: 2007/01/24
投稿数: 9
投稿日時: 2007-01-24 21:55
現在、横向きの棒グラフを作成しています。横軸は0から100までの整数です。
ここで質問なのですが、たとえば、30から40までだけの棒グラフを作成することは可能ですか?DefaultCategoryDatasetのaddvalueを使ってデータを入れる方法では、40を入力すると、0から40までのすべてが塗りつぶされてしまいます。よって、違うdatasetを使わなければいけないとおもうのですが、始点と終点を入力できるdatasetはあるのでしょうか?
自分で下記のホームページから探してみたところ、DefaultIntervalCategoryDatasetというものを使えばできそうなのですが、いまいち使い方がわかりません。
よろしければアドバイスよろしくお願いします。
すみょし
常連さん
会議室デビュー日: 2007/01/25
投稿数: 36
投稿日時: 2007-01-25 13:00
はじめまして。

JFreeChartで棒グラフは扱ったことありませんが、
ValueAxisとかその辺のクラスを使えば、
30から40までとか表示可能だと思いますよ。
散布図や折れ線グラフでは表示範囲の下限と上限を指定して表示範囲を限定して表示することが可能なので、
棒グラフでも可能かと思います。
未記入
会議室デビュー日: 2007/01/24
投稿数: 9
投稿日時: 2007-01-25 16:50
返信ありがとうございます。

私の説明が不十分でした。すみません。
すみょしさんがおっしゃるようにValueAxisのsetRangeを使えば表示領域の範囲は指定できるのですが、これは30から40までしか表示されていないだけで、実際は0から40までで図が作られていますよね?私は、たとえば、20から50までを表示しておいて、その中の30から40までを塗りつぶしたいと考えています。
やはりこのようなことは不可能なのでしょうか?

私は、jfreechartのDemoのIntervalBarChartDemo1.javaや、StackedBarChartDemo2.javaのようなものを作成したいと思っています。
よろしくお願いします
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-01-25 17:09
A|   ■■■
B| ■■■■
C|      ■■■
-+------------------
0 10 20 30 40 50 ...

こういう図にしたいという話ですか?
未記入
会議室デビュー日: 2007/01/24
投稿数: 9
投稿日時: 2007-01-25 18:42
はいそうです。
すみょし
常連さん
会議室デビュー日: 2007/01/25
投稿数: 36
投稿日時: 2007-01-26 09:53
横向き棒グラフでjfreechartのDemoのIntervalBarChartDemo1.javaや、StackedBarChartDemo2.javaを実現するのなら、
ガントチャート使ったほうが簡単かもしれません。
jfreechart-1.0.1-demo.jar中の
・GanttDemo1
・GanttDemo2

あたりでしょうか。

[ メッセージ編集済み 編集者: すみょし 編集日時 2007-01-26 10:02 ]
未記入
会議室デビュー日: 2007/01/24
投稿数: 9
投稿日時: 2007-01-26 13:45
ガントチャートはTaskSeriesを使うとおもうのですが、この引数のTaskの引数にDateとあるので、これは日付をつけるときなどしかつかえないのではないのですか?
未記入
会議室デビュー日: 2007/01/24
投稿数: 9
投稿日時: 2007-01-27 11:29
調べてみたのですが、ガントチャートを作成するときに使うTaskSeriesなどの使い方がよくわからないので、できればそのあたりのソースの例をだしていただけますか?よろしくお願いします。

スキルアップ/キャリアアップ(JOB@IT)