枠線の色の指定(setBorderPaint)

広告

グラフに枠線を表示する設定にしている場合、枠線の色を指定することが出来ます。JFreeChartクラスで用意されている「setBorderPaint」メソッドを使います。

Sets the paint used to draw the chart border (if visible).

Parameters:
  paint - the paint.

引数にはPaintインターフェースを実装したクラスのオブジェクトを指定します。

Paintインターフェースを実装したクラスとしては次のようなものがあります。(詳細は「色属性の設定」などを参照して下さい)。

Color                  単純色
GradientPaint          線形グラデーションパターン
TexturePaint           テクスチャーによる塗りつぶし
LinearGradientPaint    線形グラデーションパターン
RadialGradientPaint    円放射状グラデーションパターン

グラデーションやテクスチャーなども利用できますが、今回は単に色を指定してみます。色指定の場合は「java.awt.Color」クラスのオブジェクトを使います。(Colorクラスについては「Colorクラス」を参照して下さい)。

実際の使い方は次のようになります。

JFreeChart chart = 
  ChartFactory.createPieChart("title", data, false, false, false);

chart.setBorderVisible(true);
chart.setBorderPaint(Color.RED);

サンプルプログラム

では簡単なサンプルを作成して試してみます。

Test2_1.java

import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.data.general.DefaultPieDataset;

import org.jfree.chart.ChartUtilities;
import java.io.File;
import java.io.IOException;
import java.awt.Color;

public class Test2_1{
  public static void main(String[] args) {
    DefaultPieDataset data = new DefaultPieDataset();
    data.setValue("外食", 37);
    data.setValue("弁当", 31);
    data.setValue("食べない", 32);

    JFreeChart chart = 
      ChartFactory.createPieChart("昼食", data, false, false, false);

    chart.setBorderVisible(true);
    chart.setBorderPaint(Color.RED);

    File file = new File("./test2_1.png");
    try {
      ChartUtilities.saveChartAsPNG(file, chart, 400, 400);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

上記をコンパイルした後で実行すると次のように表示されます。

枠線の色の指定(setBorderPaint)

実行するとグラフをPNG画像として保存します。今回は枠線を表示し色を赤に設定しています。

枠線の色の指定(setBorderPaint)

( Written by Tatsuo Ikura )