Primefaces 如何向BarChartModel中的ChartSeries添加项目?
我正在使用素数面,以建立一个条形图。我的目标是比较一些测试项目。每个条都应该是一个Testproject,从中可以读取项目所在的不同阶段。 我的问题是:我有一个视图,可以在其中添加新的测试项目。当我添加一个,有一个新的酒吧。但是如果我想再加一个,旧的酒吧是欧维文写的。当然是的,因为布景。。。但是我想做一些类似于add的事情(testprojectProducer.getTestproject().getName(),1)。 图表将能够记住旧条并添加新条。有没有办法或者我必须和primefaces说再见并建立自己的图表 这是我的密码:Primefaces 如何向BarChartModel中的ChartSeries添加项目?,primefaces,charts,Primefaces,Charts,我正在使用素数面,以建立一个条形图。我的目标是比较一些测试项目。每个条都应该是一个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”。请改进你的标题好的,我更改了标题。无论如何,谢谢你。现在我再看一次你的解决方案,里面没有任何东西可以添加额外的节点到这个系列中,它只是初始化。实际上,没有什么不同于在。。。你已经在你的问题中添加了两个这样的节点,所以我现在真的看不到这个问题以及它解决了什么。。。