저는 Studio를 사용하여 JasperReports의 보고서를 작성하고 있습니다. 선 차트의 너비를 늘려야합니다 (기본값은 너무 가늘 릅니다). JasperReports가 Jfeechart를 차트로 사용한다는 것을 알기 전까지이 코드를 검색하여 사용자 지정 작업을 수행했습니다.jfree chart org.jfree.chart.plot.CategoryPlot을 org.jfree.chart.plot.XYPlot으로 캐스트 할 수 없습니다.
public class TSChartCustomizer extends JRAbstractChartCustomizer {
public void customize(JFreeChart chart, JRChart jasperChart) {
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) chart.getXYPlot().getRenderer();
BasicStroke stroke = new BasicStroke(3f);
renderer.setSeriesStroke(1, stroke);
}
}
위의 클래스를 jar 파일에 빌드하고 추가 한 다음 jasper 프로젝트에 추가했습니다. 그리고 차트 속성에서 사용자 정의 클래스의 클래스를 선택할 수 있습니다. 하는
가PS 아래의 보고서 코드입니다 ... 내가 문제가 코드와 아마 생각하지만, 내가 JFreeChart를 모르는
java.lang.ClassCastException: org.jfree.chart.plot.CategoryPlot cannot be cast to org.jfree.chart.plot.XYPlot
: 나는 보고서를 실행할 때이 오류가있어 매우 간단한 데모 용 :
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="test6" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f147421f-bbe6-42bd-b26e-7f4f7cee333a">
<queryString>
<![CDATA[select 'p1' as prod, 'm1' as mon, 10 as num
union all select 'p1' as prod, 'm2' as mon, 20 as num
union all select 'p1' as prod, 'm3' as mon, 30 as num]]>
</queryString>
<field name="prod" class="java.lang.String"/>
<field name="mon" class="java.lang.String"/>
<field name="num" class="java.lang.Integer"/>
<background>
<band splitType="Stretch"/>
</background>
<summary>
<band height="325" splitType="Stretch">
<lineChart>
<chart evaluationTime="Report">
<reportElement x="178" y="125" width="200" height="200" uuid="124ec6e6-b32d-477d-84a4-36c8d4df3ac2"/>
<chartTitle/>
<chartSubtitle/>
<chartLegend/>
</chart>
<categoryDataset>
<categorySeries>
<seriesExpression><![CDATA[$F{prod}]]></seriesExpression>
<categoryExpression><![CDATA[$F{mon}]]></categoryExpression>
<valueExpression><![CDATA[$F{num}]]></valueExpression>
</categorySeries>
</categoryDataset>
<linePlot>
<plot/>
<categoryAxisFormat>
<axisFormat/>
</categoryAxisFormat>
<valueAxisFormat>
<axisFormat/>
</valueAxisFormat>
</linePlot>
</lineChart>
</band>
</summary>
</jasperReport>