将饼图分成相等的部分jfreechart

时间:2013-06-27 09:21:57

标签: java charts jfreechart

我有一个数据源,其中有三个部门,每个部门的员工人数均为8人。 我想使用jFreeChart创建一个饼图,首先我们将饼分成3个相等的部分,用于每个部门120'的部门。然后在这些分区中,我想显示每个员工的销售情况。我怎么能在jFreeChart中这样做。

2 个答案:

答案 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);
      }