Tutorial :Stacked Bar Chart with percentage composition inside the Bar and total above the Bar in JFreeChart



Question:

I am trying to create a Stacked Bar Chart. My requirement is I need percentage composition inside the bar and total count on top of the Bar. Please suggest solutions.

My Requirement: Sample : http://www.jfree.org/jfreechart/api/javadoc/images/StackedBarRenderer3DSample.png

I want percentage composition inside the bar and total composition on the top of the bar.


Solution:1

It's not clear what you are doing now, but using a StackedBarRenderer with setRenderAsPercentages(true) will display the percentages. To get the total, extend StackedBarRenderer, loop through the dataset for each column, and override drawItem() to draw the result. An example may be found in the JFreeChart Demo as part of StackedBarChartDemo3.

As an alternative, consider a custom CategoryToolTipGenerator, added via setBaseToolTipGenerator().

Addendum: You linked to an example using StackedBarRenderer3D, which also has a setRenderAsPercentages() method. It can be extended similarly.


Solution:2

I ran into the same problem too. For some reason the latest version of JFreeChart does not display the percentage composition inside the bar. Here's how I got it to work:

    StackedBarRenderer br = new StackedBarRenderer(true); //enable perc. display      br.setBarPainter(new StandardBarPainter());      br.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());      br.setBaseItemLabelsVisible(true);      chart.getCategoryPlot().setRenderer(br);  

Hope this helps


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »