Boa Tarde,
Pessoal, pesquisei bastante, mas ainda não consegui achar como posso fazer para expandir um grafico feito no ireport, a versão do ireport é bem antiga, versao 2.0.3, mas o sistema é grande e tem bastante relatorios prontos, então não tem como mudar facilmente a versão. O problema, tem um relatorio com varios nivéis de subrelatorios neste, um dos subrelatorios, mais ou menos no quarto nivel tem um grafico de produção dos usuarios, o problema é que este gráfico fica com tamanho fixo, ou seja caso tenha dois usuarios o gráfico exibe as informações numa boa, mas com dez usuario o grafico já fica pequeno demais, eu não consigo mensurar a quantidade de usuarios. Em anexo uma imagem com o exemplo de como o relatorio esta ficando.
O grafico esta dentro da aba columnFooter, utiliza CollectionsBeans para listar os dados, já marquei a opção de aumentar relativo ao objeto mais alto e ainda não obtive sucesso para aumetar o grafico, é utilizado uma classe de customização para este, classe de customização abaixo
public abstract class ChartCostumizer implements JRChartCustomizer {
@Override
public void customize(JFreeChart chart, JRChart jasperChart) {
// Plot é a representação do grafico que será impresso na tela
CategoryPlot plot = (CategoryPlot) chart.getPlot();
// Renderer permite as configurações das barras que seram impressas
CategoryItemRenderer renderer = plot.getRenderer();
// Seta a fonte para a etiqueta da barra, (etiqueta é o texto que aparece em cima ou na frente do
// grafico)
renderer.setBaseItemLabelFont(new Font("SansSerif", Font.PLAIN, 7));
// Seta que a etiqueta deve estar visivel
renderer.setBaseItemLabelsVisible(true);
// Seta a cor do texto de cada etiqueta
renderer.setBaseItemLabelPaint(Color.BLACK);
// Posicionamento do texto da barra
ItemLabelPosition itemPosition = getItemPosition(plot.getOrientation());
renderer.setBasePositiveItemLabelPosition(itemPosition);
// NumberAxis é referente as informações de valores que são impressas no grafico, como a escola de
// valores que vai ao lado em um grafico vertical
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
// Seta para que seja criado uma escala a mais que o necessario, para que seja possivel visualizar o
// texto dos graficos horizontais, caso contrario o texto fica cortado
rangeAxis.setUpperMargin(1);
// BarRenderer representa as barras que serão desenhadas no grafico
BarRenderer bar = (BarRenderer) plot.getRenderer();
// Informa o tamanho maximo que cada barra pode ocupar na tela, este caso seta para 10% do grafico
bar.setMaximumBarWidth(.20);
// Informa a margin que a proxima barra deve respeitar a partir do fim desta para ser desenhada
bar.setItemMargin(0.02);
}
public abstract ItemLabelPosition getItemPosition(PlotOrientation orientation);
}
