« JFreeChartを使用したサンプルプログラム2 (機能追加) | トップページ | SLF4J + logback インストール »

2011年3月 2日 (水)

JFreeChartを使用したサンプルプログラム3 (見た目の変更)

今回は、JFreeChart で作成したグラフの見た目を、いろいろと触ってみる。

JFreeChartのグラフは各オブジェクトを変更することで
色、メモリ幅等見た目を変更することができる。

↓各オブジェクト名

Test_3 

■目盛りX軸を整数だけにする(XYBarChart)

        JFreeChart objCht = ChartFactory.createXYBarChart(・・・省略・・・);

        final XYPlot plot = objCht.getXYPlot();
        final NumberAxis rangeAxis = (NumberAxis) plot.getDomainAxis();
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

Test_5 

結果、X軸が整数のみの表示になる。

  getDomainAxis:横軸の取得

■目盛りY軸を整数だけにする(XYBarChart)

        JFreeChart objCht = ChartFactory.createXYBarChart(・・・省略・・・);

        final XYPlot plot = objCht.getXYPlot();
        final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

Test_7

結果、Y軸が整数のみの表示になる。

※例のように、Y軸が1より少ない場合、メモリの表示自体が消えてしまう
  Y軸の値が1より大きくなれば、メモリも表示される

  getRangeAxis:縦軸の取得

■棒グラフの影をなくす(XYBarChart)

        JFreeChart objCht = ChartFactory.createXYBarChart(・・・省略・・・);

        final XYPlot plot = objCht.getXYPlot();

        //棒グラフの影をなくす
        XYBarRenderer barRenderer = ((XYBarRenderer) plot.getRenderer());
        barRenderer.setShadowVisible(false);

Test

結果、棒グラフの影が消える。

  getRenderer:描画方法の取得

■横軸の両端(開始/終了)の指定 (XYAreaChart)

        JFreeChart objCht = ChartFactory.createXYAreaChart(・・・省略・・・);

        // 横軸の最小値と最大値を設定
        XYPlot plot = objCht.getXYPlot();
        NumberAxis numberAxis = (NumberAxis) plot.getDomainAxis();
        numberAxis.setLowerBound(1);
        numberAxis.setUpperBound(11);

Photo


  結果、グラフの開始が「1」、終了が「11」となる。
 

 ※ 横軸の最小値と最大値を設定することで両端の隙間が無くなる

 ※ getDomainAxis() ではなく getRangeAxis() を指定すると縦軸の指定になります

 

上記他にも触れる箇所は多く、色々試してみるのも楽しいと思います。
ただ、日本語の参考サイトが少なく、どのオブジェクトをどのように触れば
良いのか分かりにくいとは思います。

« JFreeChartを使用したサンプルプログラム2 (機能追加) | トップページ | SLF4J + logback インストール »

コメント

最近Javaでのグラフ作成を行っています。
記載の中にもありますように、日本語のサイトが少ないので、当サイトはとても助かっています。
常用で使うようなものは有る程度はわかるのですが、こと細かい設定はどれをどうしたらよいのか悩んでしまいます。
掲載されてからだいぶ時間が経っているようですが、とても役に立っております。
ありがとうございました。

コメントありがとうございます。
少しでもお役にたてて良かったです。( ^ω^ )

今、androidアプリでafreechartを使ってグラフの実装をしています。
こちらのサイトに記載されている内容がとても参考になりました。
ありがとうございます。

コメントありがとうございます。
最近はJavaを全然触れていません。
昔の記事ですが 少しでもお役にたてて良かったです。( ^ω^ )

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/153605/51013659

この記事へのトラックバック一覧です: JFreeChartを使用したサンプルプログラム3 (見た目の変更):

« JFreeChartを使用したサンプルプログラム2 (機能追加) | トップページ | SLF4J + logback インストール »