
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
EmoticonEmoticon