0

我有一个数据源,其中有三个部门,每个部门都有 8 名相等的员工。我想使用 jFreeChart 制作一个饼图,首先我们将饼图分成 3 个相等的部分,每个部门为 120' . 然后在这些分区中我想显示每个员工的销售额。我怎样才能在 jFreeChart 中做到这一点。

4

2 回答 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 回答