【问题标题】:Partition pie chart into equal parts jfreechart将饼图分成相等的部分 jfreechart
【发布时间】:2013-06-27 09:21:57
【问题描述】:

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

【问题讨论】:

    标签: java charts jfreechart


    【解决方案1】:
    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);
          }
    

    【讨论】:

    • 创建分区很简单,但是如何进一步创建分区呢?谢谢。
    • 相应地进行分区意味着饼图对分区很有用,因此当您分配任何学生时,您的 100% 将为 33.33,根据部门分区分配值低于 33.33,如果您想分配每个 8 名学生,则等于 33.33 /8
    【解决方案2】:

    PieChartDemo1 是一个很好的起点;关注createDataset();完整的source 包含在分发中。

    附录:如何进一步创建分区?

    啊,你想细分每个 120° 分区。 DefaultPieDataset 不直接支持分层结构,但您可以使用PiePlot 中的颜色来突出显示分组。使用Color.getHSBColor()创建相关颜色,如图here,并使用setSectionPaint()相应地应用颜色。

    【讨论】:

    • 创建分区很简单,但是如何进一步创建分区呢?谢谢。
    • 我在上面提出了一种方法。
    • 非常感谢您的回复。我很感激。
    猜你喜欢
    • 1970-01-01
    • 2011-07-19
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    相关资源
    最近更新 更多