Primefaces BarChart CartesianChartModel X Axis

时间:2014-09-09 15:21:10

标签: jsf jsf-2 primefaces

我尝试使用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;
}

1 个答案:

答案 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);