Primefaces 如何向BarChartModel中的ChartSeries添加项目?

Primefaces 如何向BarChartModel中的ChartSeries添加项目?,primefaces,charts,Primefaces,Charts,我正在使用素数面,以建立一个条形图。我的目标是比较一些测试项目。每个条都应该是一个Testproject,从中可以读取项目所在的不同阶段。 我的问题是:我有一个视图,可以在其中添加新的测试项目。当我添加一个,有一个新的酒吧。但是如果我想再加一个,旧的酒吧是欧维文写的。当然是的,因为布景。。。但是我想做一些类似于add的事情(testprojectProducer.getTestproject().getName(),1)。 图表将能够记住旧条并添加新条。有没有办法或者我必须和primefaces

我正在使用素数面,以建立一个条形图。我的目标是比较一些测试项目。每个条都应该是一个Testproject,从中可以读取项目所在的不同阶段。 我的问题是:我有一个视图,可以在其中添加新的测试项目。当我添加一个,有一个新的酒吧。但是如果我想再加一个,旧的酒吧是欧维文写的。当然是的,因为布景。。。但是我想做一些类似于add的事情(testprojectProducer.getTestproject().getName(),1)。 图表将能够记住旧条并添加新条。有没有办法或者我必须和primefaces说再见并建立自己的图表

这是我的密码:

@ManagedBean
public class ChartView implements Serializable  {

private static final long serialVersionUID = 9181815723688700642L;
private BarChartModel barModel;
@Inject 
private TestprojectProducer testprojectProducer;

@PostConstruct
public void init() {
    createBarModel();
    new ArrayList<String>();  
}

private BarChartModel initBarModel() {

    BarChartModel model = new BarChartModel(); //Diagram
    ChartSeries cs= new ChartSeries();  // Balken
    cs.setLabel("Testprojekte");
    cs.set("Testprojekt 1",5);
    cs.set(testprojectProducer.getTestproject().getName(), 1);
    model.addSeries(cs);
    return model;
}   
    public void createBarModel() {

    barModel =initBarModel();
    barModel.setTitle("");
    barModel.setLegendPosition("");
    barModel.setSeriesColors("C80000");

    Axis xAxis = barModel.getAxis(AxisType.X);
    xAxis.setLabel("Testprojekte");

    Axis yAxis = barModel.getAxis(AxisType.Y);
    yAxis.setLabel("Phasen");
    yAxis.setMin(0);
    yAxis.setMax(7);

}

public BarChartModel getBarModel() {  

    return barModel;
}

public void setBarChartModel(BarChartModel barModel){
    this.barModel= barModel;
}


}
@ManagedBean
公共类ChartView实现了可序列化{
私有静态最终长serialVersionUID=9181815723688700642L;
私人酒吧模型;
@注入
私人TestprojectProducer TestprojectProducer;
@施工后
公共void init(){
createBarModel();
新的ArrayList();
}
私有BarChartModel initBarModel(){
BarChartModel model=新的BarChartModel();//图表
ChartSeries cs=新ChartSeries();//巴尔肯
cs.setLabel(“Testprojekte”);
cs.set(“测试项目1”,5);
set(testprojectProducer.getTestproject().getName(),1);
addSeries(cs)模型;
收益模型;
}   
public void createBarModel(){
barModel=initBarModel();
barModel.setTitle(“”);
barModel.setLegendPosition(“”);
barModel.SetSeriesColor(“C80000”);
Axis xAxis=barModel.getAxis(AxisType.X);
xAxis.setLabel(“Testprojekte”);
Axis yAxis=barModel.getAxis(AxisType.Y);
yAxis.setLabel(“Phasen”);
yAxis.setMin(0);
yAxis.setMax(7);
}
public BarChartModel getBarModel(){
回归模型;
}
公共空间模型(条形图模型barModel){
this.barModel=barModel;
}
}

我希望有办法解决我的问题。谢谢大家!

我解决了我的问题。当您使用“HashMap”时,就没有那么难了:

   private BarChartModel initBarModel() {

    BarChartModel model = new BarChartModel(); 
    ChartSeries cc = new ChartSeries(); 
    cc.setLabel("Testprojekte");

    HashMap<Object, Number> groupData = new HashMap<Object, Number>();
    for (int i = 0; i < 3; i++) {
        groupData.put(testProjectListProducer.getList().get(i).getName(), 2);
    }
    cc.setData(groupData);
    model.addSeries(cc);

    return model;
}
private BarChartModel initBarModel(){
BarChartModel模型=新的BarChartModel();
ChartSeries cc=新的ChartSeries();
抄送setLabel(“Testprojekte”);
HashMap groupData=新HashMap();
对于(int i=0;i<3;i++){
groupData.put(testProjectListProducer.getList().get(i).getName(),2);
}
cc.setData(groupData);
addSeries(cc)模型;
收益模型;
}

“有没有办法或者我必须向primefaces道别并建立自己的图表?”然后呢?遇到同样的问题?如果覆盖现有系列,则它是。。。好。。。覆盖。。。为什么不在现有车型上“添加”一个新系列?或者,如果这不是您的问题,那么请澄清……因此,您的问题实际上是“如何向chartSeries添加项目”,而不是“如何添加chartSeries”。请改进你的标题好的,我更改了标题。无论如何,谢谢你。现在我再看一次你的解决方案,里面没有任何东西可以添加额外的节点到这个系列中,它只是初始化。实际上,没有什么不同于在。。。你已经在你的问题中添加了两个这样的节点,所以我现在真的看不到这个问题以及它解决了什么。。。