Hi, After struggling with chart customizations I found out that the best way to work with charts is to generate the JFreechart outside the report and give it as a parameter. You have the advantage that you can have full customization of your chart and the generated chart may be used in your web pages adn in the reports. The procedure is as follows. 1) Build a java class that generates the chart and returns a JFreeChart object. 2) Send the chart as a parameter: IndiChart chart = new IndiChart(selectedYear, chartStartYear, chartEndYear, chartTitle, chtType, frequency, chartResultsCount, "", chartRangeAxisLabel, dataSeriesNames, dataSeriesColors, chartTargetValues, chartResultValues); --> Initialize de java class JFreeChart indiChart = chart.createChart(true); --> Build the chart parameters.put("indicatorChart", new JCommonDrawableRenderer(indiChart)); --> put the chart as a parameter 3) in your report, define a parameter of type java.lang.object (lets say its named "indicatorChart") 4) include an Image object in your report and : 4.1) In the image expression enter: (net.sf.jasperreports.engine.JRRenderable)$P{indicatorChart} 4.2) In the expression class enter: net.sf.jasperreports.engine.JRRenderable 4.3) select the Scale Image property option that suits your needs. By using this procedure I'm getting really good images! Hope this helps you