我有一个数据源,其中有三个部门,每个部门的员工人数均为8人。 我想使用jFreeChart创建一个饼图,首先我们将饼分成3个相等的部分,用于每个部门120'的部门。然后在这些分区中,我想显示每个员工的销售情况。我怎么能在jFreeChart中这样做。
答案 0 :(得分:2)
PieChartDemo1
是一个很好的起点;专注于createDataset()
;完整的source包含在发行版中。
附录:如何进一步创建分区?
啊,你想要细分每个120°的分区。DefaultPieDataset
不直接支持层次结构,但您可以使用PiePlot
中的颜色突出显示分组。使用Color.getHSBColor()
创建相关颜色,如here所示,并使用setSectionPaint()
相应地应用颜色。
答案 1 :(得分:2)
public class PieChart extends JFrame {
private PieDataset createDataset() {
DefaultPieDataset result = new DefaultPieDataset();
result.setValue("department1", 33.33);
result.setValue("department2", 33.33);
result.setValue("department3", 33.33);
return result;
}
private JFreeChart createChart(PieDataset dataset, String title) {
JFreeChart chart = ChartFactory.createPieChart3D(title, // chart title
dataset, // data
true, // include legend
true,
false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setStartAngle(290);
plot.setDirection(Rotation.CLOCKWISE);
plot.setForegroundAlpha(0.5f);
return chart;
}
}
public static void main(String[] args) {
PieChart demo = new PieChart("Comparison", "Which operating system are you using?");
demo.pack();
demo.setVisible(true);
}