Displaying Series Value ontop of Layered Bars

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
BrianJT
Posts: 1
Joined: Wed Jun 24, 2009 9:09 pm

Displaying Series Value ontop of Layered Bars

Post by BrianJT » Wed Jun 24, 2009 9:16 pm

I have a LayeredBarGraph and I'm trying to display a label on the graph with the value of each series. My code for the renderer is below:

Code: Select all

      LayeredBarRenderer layeredRenderer = new LayeredBarRenderer();
      layeredRenderer.setSeriesBarWidth(0, .6);
      layeredRenderer.setSeriesBarWidth(1, .35);
      layeredRenderer.setSeriesBarWidth(2, .15);
      
      layeredRenderer.setSeriesItemLabelGenerator(0,  new StandardCategoryItemLabelGenerator("{2}",NumberFormat.getIntegerInstance())); 
      layeredRenderer.setSeriesItemLabelGenerator(1,  new StandardCategoryItemLabelGenerator("{2}",NumberFormat.getIntegerInstance())); 
      layeredRenderer.setSeriesItemLabelGenerator(2,  new StandardCategoryItemLabelGenerator("{2}",NumberFormat.getIntegerInstance())); 
      layeredRenderer.setSeriesItemLabelsVisible(0,true);
      layeredRenderer.setSeriesItemLabelsVisible(1,true);
      layeredRenderer.setSeriesItemLabelsVisible(2,true);
      graph.getCategoryPlot().setRenderer(layeredRenderer)
For some reason with this code, the label will only display when the value of the graph is 0. When the values are > 0, no value gets displayed.

Any ideas as to how I can get the values to be displayed properly on the Layered Bar Graph

SLiVer
Posts: 14
Joined: Mon Feb 16, 2009 6:05 pm

Re: Displaying Series Value ontop of Layered Bars

Post by SLiVer » Thu Jul 02, 2009 12:20 pm

Hi,

You can use this:
CategoryItemLabelGenerator lblGenerator = new StandardCategoryItemLabelGenerator();
renderer.setBaseItemLabelGenerator(lblGenerator);
renderer.setBaseItemLabelsVisible(true);
I hope that works ;)

Pellegrino
Posts: 16
Joined: Wed Jun 17, 2009 5:00 pm

Re: Displaying Series Value ontop of Layered Bars

Post by Pellegrino » Thu Sep 17, 2009 3:02 pm

ATTENTION!!!!

it really works :) it's a bug of JFreeChart.

Code: Select all

final LayeredBarRenderer renderer2 = new LayeredBarRenderer();
        StandardCategoryItemLabelGenerator categoryLabel = new StandardCategoryItemLabelGenerator("{2}",new DecimalFormat( "###.##" ));
        renderer2.setBaseItemLabelGenerator(categoryLabel);
        renderer2.setBaseItemLabelsVisible(true);
        renderer2.setBaseNegativeItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.INSIDE12, TextAnchor.TOP_CENTER));
        renderer2.setBaseItemLabelFont(ReportConstants.STANDARD_FONT_ST);
        renderer2.setBaseItemLabelPaint(Color.black);
        renderer2.setBaseLegendTextFont(ReportConstants.SMALL_ARIAL_FONT_ST);
        renderer2.setItemMargin(0.01);
        renderer2.setSeriesBarWidth(0, 0.6);
        renderer2.setSeriesPaint(0, Color.yellow);
CDMT

Locked