1 package test.tuigwaa;
2
3 import java.io.File;
4 import java.io.IOException;
5
6 import junit.framework.TestCase;
7
8 import org.jfree.chart.ChartFactory;
9 import org.jfree.chart.ChartUtilities;
10 import org.jfree.chart.JFreeChart;
11 import org.jfree.chart.plot.PiePlot;
12 import org.jfree.data.category.CategoryDataset;
13 import org.jfree.data.general.DatasetUtilities;
14 import org.jfree.data.general.PieDataset;
15
16 public class JFreeChartTest extends TestCase {
17
18 public void testPieChart() {
19 SamplePieChart spc = new SamplePieChart();
20 spc.workPieChart();
21 }
22
23 public class SamplePieChart{
24
25 public SamplePieChart() {
26 }
27
28 /***
29 * PieChartの作成と使用.
30 */
31 public void workPieChart() {
32
33 JFreeChart pieChart = getPieChart();
34
35
36 File outFile = new File("./piechart.png");
37 try {
38 ChartUtilities.saveChartAsPNG(outFile, pieChart, 500, 500);
39 } catch (IOException e) {
40 e.printStackTrace();
41 }
42 }
43
44 /***
45 * JFreeChartオブジェクトの作成と操作
46 */
47 public JFreeChart getPieChart() {
48
49 double[][] data = new double[][] { { 1.0, 3.2, 3.0, 4.0 }};
50
51 CategoryDataset cData = DatasetUtilities.createCategoryDataset(
52 new String[]{"1"}, new String[]{"test1", "aa2", "bbb3", "b4"}, data);
53
54 PieDataset pieData = DatasetUtilities.createPieDatasetForRow(cData,
55 0);
56 ;
57
58
59
60 JFreeChart pieChart = ChartFactory.createPieChart("SamplePieChart",
61 pieData, true, true, true);
62
63
64 PiePlot piePlot = (PiePlot) pieChart.getPlot();
65
66 piePlot.setCircular(false);
67
68
69
70 piePlot.setExplodePercent(1, 0.5);
71
72
73
74 return pieChart;
75 }
76
77 }
78 }