Reputation: 13
I'm trying to create a stacked bar chart using Primefaces dynamically based on a native SQL query. I'm able to iterate through my list to populate the chart, but the x values aren't showing up correctly. Here's a hardcoded example:
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;
}
Upvotes: 1
Views: 1422
Reputation: 2797
I post this as an answer because it is too lang to be posted as comment. If it does not answer your question please let me know and I will remove this answer..
I did not test it, but I could imagine that the model is expecting "complete series" for each series item. Depending on what you need either try using only two series:
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);
Or fill up all your series
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);
Upvotes: 0