JFreeChart – グラフの描画領域の枠線の色を設定するには
グラフの描画領域の枠線の色を設定するには、PlotクラスのsetOutlinePaintメソッドを使用します。
package net.tk_factory.example.jfreechart.plot; import java.awt.Color; import java.io.FileOutputStream; import java.io.IOException; import net.tk_factory.example.AbstractExample; import org.apache.log4j.Logger; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.StandardChartTheme; import org.jfree.chart.plot.Plot; import org.jfree.data.general.DefaultPieDataset; /** * JFreeChartを使用したサンプルプログラムです。<br/> * <br/> * <b>内容</b> * <ol type="1"> * <li>グラフの描画領域の枠線の色を設定します。</li> * </ol> * * @author Takafumi Kondo (TK Factory) */ public class ExampleSetOutlinePaint extends AbstractExample { /** クラス名 */ private static final String CLASS_NAME = ExampleSetOutlinePaint.class.getSimpleName(); /** ロガー */ private static final Logger LOGGER = Logger.getLogger(ExampleSetOutlinePaint.class.getName()); /** 出力ファイル名(PNG形式) */ private static final String OUT_FILE_NAME_PNG = EXAMPLE_FILE_DIRECTORY + CLASS_NAME + ".png"; /** * ExampleSetOutlinePaintオブジェクトを構築すると、 * UnsupportedOperationExceptionがスローされます。<br/> */ protected ExampleSetOutlinePaint() { throw new UnsupportedOperationException(); } /** * mainメソッドです。<br/> * * @param args 引数 */ public static void main(String[] args) { LOGGER.info("[START]" + CLASS_NAME); FileOutputStream png = null; try { //すでに出力ファイルが存在している場合は削除する deleteExistsFile(OUT_FILE_NAME_PNG); //レガシーテーマを設定する ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme()); //円グラフのデータを設定する DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("支持する", 14.3); dataset.setValue("どちらでもない", 70.1); dataset.setValue("支持しない", 15.6); //円グラフを生成する JFreeChart chart = ChartFactory.createPieChart( //・グラフタイトル "内閣支持率", //・データセット dataset, //・凡例の表示有無 true, //・ツールチップの表示有無 false, //・URL動的生成の有無 false); Plot plot = chart.getPlot(); //グラフの描画領域の枠線の色を設定する plot.setOutlinePaint(Color.RED); //PNG形式でファイルへ保存する png = new FileOutputStream(OUT_FILE_NAME_PNG); ChartUtilities.writeChartAsPNG(png, chart, 600, 400); } catch (IOException ioex) { LOGGER.error(getStackTrace(ioex)); } finally { try { if (png != null) { png.close(); } } catch (IOException ioex) { LOGGER.error(getStackTrace(ioex)); } LOGGER.info("[E N D]" + CLASS_NAME); } } }
関連記事
ソースを見直し、一部、修正しました。