我尝试使用Primefaces基于本机SQL查询动态创建堆积条形图。我能够遍历我的列表来填充图表,但x值没有正确显示。这是一个硬编码的例子:
public CartesianChartModel ChartBean() {
model = new CartesianChartModel();
ChartSeries boys = new ChartSeries();
boys.setLabel("Boys");
boys.set("2004", 120);
ChartSeries boys2 = new ChartSeries();
boys2.setLabel("Boys2");
boys2.set("2005", 100);
ChartSeries girls = new ChartSeries();
girls.setLabel("Girls");
girls.set("2004", 52);
ChartSeries girls2 = new ChartSeries();
girls2.setLabel("Girls2");
girls2.set("2005", 60);
model.addSeries(boys);
model.addSeries(girls);
model.addSeries(boys2);
model.addSeries(girls2);
return model;
}
答案 0 :(得分:0)
我发布这个作为答案,因为它太过不能作为评论发布。如果它没有回答你的问题,请告诉我,我会删除这个答案..
我没有测试它,但我可以想象该模型正在期待"完整系列"对于每个系列项目。根据您的需要,可以尝试仅使用两个系列:
ChartSeries boys = new ChartSeries();
boys.setLabel("Boys");
boys.set("2004", 120);
boys.set("2005", 100);
ChartSeries girls = new ChartSeries();
girls.setLabel("Girls");
girls.set("2004", 52);
girls.set("2005", 60);
或填写所有系列
ChartSeries boys = new ChartSeries();
boys.setLabel("Boys");
boys.set("2004", 120);
boys.set("2005", 0);
ChartSeries boys2 = new ChartSeries();
boys2.setLabel("Boys2");
boys2.set("2004", 0);
boys2.set("2005", 100);
ChartSeries girls = new ChartSeries();
girls.setLabel("Girls");
girls.set("2004", 52);
girls.set("2005", 0);
ChartSeries girls2 = new ChartSeries();
girls2.setLabel("Girls2");
girls2.set("2004", 0);
girls2.set("2005", 60);