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.

Was it helpful?

Solution

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.

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top