1 import java.awt.Color;
2 import java.awt.Graphics;
3 import java.awt.Graphics2D;
4 import java.awt.Rectangle;
5 import java.util.Map;
6
7 import javax.swing.JComponent;
8 import javax.swing.JFrame;
9 import javax.swing.border.LineBorder;
10
11 import org.jfree.chart.ChartFactory;
12 import org.jfree.chart.ChartFrame;
13 import org.jfree.chart.ChartTheme;
14 import org.jfree.chart.JFreeChart;
15 import org.jfree.chart.StandardChartTheme;
16 import org.jfree.chart.block.BlockFrame;
17 import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
18 import org.jfree.chart.labels.StandardPieToolTipGenerator;
19 import org.jfree.chart.plot.PiePlot;
20 import org.jfree.chart.title.LegendTitle;
21 import org.jfree.data.general.DefaultPieDataset;
22 import org.jfree.ui.RectangleEdge;
23 import org.jfree.ui.RectangleInsets;
24 import org.jfree.util.Rotation;
25
26
27 import com.lowagie.text.Font;
28
29 public class Main {
30 public static void main(String[] argv) {
31 DefaultPieDataset dataset = new DefaultPieDataset();
32 dataset.setValue("a",15);
33 dataset.setValue("b",20);
34 dataset.setValue("c",25);
35 dataset.setValue("d",30);
36 dataset.setValue("e",3);
37 dataset.setValue("f",2);
38 dataset.setValue("g",4);
39 dataset.setValue("h",5);
40
41 PiePlot plot = new PiePlot(dataset);
42 JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
//set legend
43 LegendTitle legend = chart.getLegend();
44 legend.setPosition(RectangleEdge.RIGHT);
//invisible the frames around legend
legend.setBorder(0, 0, 0, 0);
45 ChartTheme currentTheme = new StandardChartTheme("JFree");
46 currentTheme.apply(chart);
47
48 plot.setStartAngle(290);
49 plot.setDirection(Rotation.CLOCKWISE);
50 plot.setForegroundAlpha(0.7f);
51 plot.setBackgroundAlpha(0.0f);
52 // plot.setSimpleLabels(true);
53
54 //disable labels
55 plot.setLabelLinksVisible(false);
56 plot.setLabelPaint(Color.white);
57 plot.setLabelShadowPaint(Color.white);
58 plot.setLabelBackgroundPaint(Color.white);
59 // plot.setLabelLinkPaint(Color.white);
60 plot.setLabelOutlinePaint(Color.white);
61
62 //set outline for pie
63 plot.setOutlinePaint(Color.white);
64
65 66
67
68 // plot.setLabelFont(new Font("Arial", Font.BOLD, 10));
69 plot.setLegendLabelGenerator(
70 new StandardPieSectionLabelGenerator("{0}: {1}({2})"));
71 // plot.setLegendLabelToolTipGenerator(
72 // new StandardPieSectionLabelGenerator("{0} {1}, {2}"));
73 plot.setNoDataMessage("No data to display");
74 ChartFrame frame = new ChartFrame("chart",chart);
75 frame.setVisible(true);
76 frame.setSize(500,500);
77 }
78 }


This pie does not has lebal,all of which has been set white or transparent. And put the legend on the right side.
