Vc tem q implementar na sua classe de geração do gráfico, além do DatasetProducer, a interface ChartPostProcessor.
Essa interface irá pedir para vc implementar o método void processChart(Object chart, Map params) que é usado para processar características de um gráfico já gerado.
Onde Object é um objeto JFreeChart e Map são parâmetros passados pela tablig cewolf através de chartpostprocessor.
Exemplo:
<cewolf:chart ....>
....
<cewolf:chartpostprocessor id="meuGrafico">
<cewolf:param name="sub_titulo" value="<%="Meu Sub-Título"%>"/>
</cewolf:chartpostprocessor>
....
</cewolf:chart>
Na sua classe, em seu método processChart:
public void processChart(Object obj, Map map) {
JFreeChart chart = (JFreeChart)obj;
//Adiciono o sub-título
chart.addSubtitle( new TextTitle( (String)map.get( "sub_titulo" ), new Font( null, Font.PLAIN, 13 ) ) );
//Altero as cores das series de meus itens
StandardXYItemRenderer standardXYRenderer = chart.getXYPlot();
standardXYRenderer.setSeriesPaint( 0, Color.BLUE );
standardXYRenderer.setSeriesPaint( 1, Color.RED );
standardXYRenderer.setSeriesPaint( 2, Color.GREEN );
}
Vale lembrar q vc terá q instânciar as classes corretamente. Aqui estou trabalhando com gráficos XY, por isso utilizei StandardXYItemRenderer . Se vc tiver trabalhando com gráficos de barra vc deverá utilizar CategoryItemRenderer.
[]'s