Search code examples
javajfreechartlabel

Setting label and value of the chart


I am creating pie charts using JFreeChart, and I want to set the value and the label seperately like in iReport. In other words, I want the chart to show different results on the pie than in the legend. Is there any way that I can achieve this?


Solution

  • The MessageFormat ArgumentIndex values correspond to the series name, domain and range. You can set a different generator for each series or for all series in the base.

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} {1} {2}"));
    

    Addendum: For PiePlot, the values have a slightly different meaning—series name, value and percentage—as shown here.