JavaFx中的多系列条形图

JavaFx中的多系列条形图,javafx,bar-chart,Javafx,Bar Chart,我尝试制作一个动态加载的条形图。它应该为xAxis上的每个条目显示多个系列。 例如,下面的列表是一个可能的条目: 它有一个黄色和两个绿色。我需要创建3条,其中两条颜色相同。如果值为绿色,则数字为2,如果值为黄色,则数字为1,如代码中所示。xAxis的值是列表中的第二个元素。但这段代码并没有给出所有长度大于10的条目。虽然我有4个入口的格栅长度超过10,但它只提供两个入口 public void setfunctionalredundant() { XYChart.Seri

我尝试制作一个动态加载的条形图。它应该为xAxis上的每个条目显示多个系列。 例如,下面的列表是一个可能的条目:

它有一个黄色和两个绿色。我需要创建3条,其中两条颜色相同。如果值为绿色,则数字为2,如果值为黄色,则数字为1,如代码中所示。xAxis的值是列表中的第二个元素。但这段代码并没有给出所有长度大于10的条目。虽然我有4个入口的格栅长度超过10,但它只提供两个入口

      public void setfunctionalredundant() {
      XYChart.Series<String, Number> series = new XYChart.Series<>();
       XYChart.Series<String, Number> series2 = new XYChart.Series<>();
       int green;
       int yellow;
       for(List<String> entry : dc.getFuncTypeOrg().values()){
        if(ent.size()>10){
            green = Collections.frequency(ent, "Green");
            yellow = Collections.frequency(ent, "yellow");
            for(int j = 0 ; j<green;j++){
                series.getData().add(
                        new XYChart.Data<String, Number>(ent.get(1),2));
            }
            for(int k = 0; k<yellow;k++){
                series2.getData().add(
                        new XYChart.Data<String, Number>(ent.get(1),1));
            }

            }
        barchart.getData().addAll(series,series2);
        barchart.setBarGap(3);
        barchart.setCategoryGap(20);

    }

}
      public void setfunctionalredundant() {
      XYChart.Series<String, Number> series = new XYChart.Series<>();
       XYChart.Series<String, Number> series2 = new XYChart.Series<>();
       int green;
       int yellow;
       for(List<String> entry : dc.getFuncTypeOrg().values()){
        if(ent.size()>10){
            green = Collections.frequency(ent, "Green");
            yellow = Collections.frequency(ent, "yellow");
            for(int j = 0 ; j<green;j++){
                series.getData().add(
                        new XYChart.Data<String, Number>(ent.get(1),2));
            }
            for(int k = 0; k<yellow;k++){
                series2.getData().add(
                        new XYChart.Data<String, Number>(ent.get(1),1));
            }

            }
        barchart.getData().addAll(series,series2);
        barchart.setBarGap(3);
        barchart.setCategoryGap(20);

    }

}