我有一个数据源,其中有三个部门,每个部门都有 8 名相等的员工。我想使用 jFreeChart 制作一个饼图,首先我们将饼图分成 3 个相等的部分,每个部门为 120' . 然后在这些分区中我想显示每个员工的销售额。我怎样才能在 jFreeChart 中做到这一点。
问问题
442 次
2 回答
2
PieChartDemo1
是一个很好的起点;专注于createDataset()
; 完整的源代码包含在分发中。
附录:如何进一步创建分区?
啊,你想细分每个 120° 分区。DefaultPieDataset
不直接支持层次结构,但您可以在 中使用颜色PiePlot
来突出显示分组。使用 创建相关颜色Color.getHSBColor()
,如此处所示,并使用setSectionPaint()
相应地应用颜色。
于 2013-06-27T09:27:46.773 回答
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);
}
于 2013-06-27T09:28:26.060 回答