我正在使用Jasper Reports研究Java,并且正在尝试创建一个带有XYLineChart
的报告
我的报告没问题,所有数据都显示了我想要的方式。我的图表正在绘制所有数据,但X和Y轴没有名称(label
),因此我无法“知道”该数据是什么。
我想在图表中放入轴的名称。我读了一些书后发现:
线图也有两个轴。可以使用categoryAxisLabelExpression和valueAxisLabelExpression ...来控制其标签。
本书提供了以下语法:
<!ELEMENT linePlot (plot, categoryAxisLabelExpression?, categoryAxisFormat?, valueAxisLabelExpression?, valueAxisFormat?)> <!ATTLIST linePlot isShowLines (true | false) "true" isShowShapes (true | false) "true">
jrxml
完整代码在我的GitHub中:Report
下面是从上面的代码中提取的关于chart
的行:
</band> <band height="164"> <xyLineChart> <chart evaluationTime="Report"> <reportElement stretchType="ContainerHeight" x="20" y="20" width="280" height="144" uuid="e33fd328-3bfa-41f7-aa53-face45efaf74"> <propertyExpression name="net.sf.jasperreports.chart.range.axis.tick.interval"><![CDATA[value]]></propertyExpression> </reportElement> <box> <topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> <rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/> </box> <chartTitle/> <chartSubtitle/> <chartLegend/> </chart> <xyDataset> <dataset resetType="Report"> <datasetRun subDataset="CorpoDeProvaChartDataSet" uuid="320307a6-07d6-4d08-8f42-0537af75c157"> <dataSourceExpression><![CDATA[$P{CorpoDeProvaChartCollectionBeanParam}]]></dataSourceExpression> </datasetRun> </dataset> <xySeries autoSort="true"> <seriesExpression><![CDATA[$F{serie}]]></seriesExpression> <xValueExpression><![CDATA[$F{days}]]></xValueExpression> <yValueExpression><![CDATA[$F{fck}]]></yValueExpression> <labelExpression><![CDATA["TEst"]]></labelExpression> </xySeries> </xyDataset> <linePlot> <plot/> <categoryAxisFormat> <axisFormat labelColor="#000000" tickLabelColor="#000000" axisLineColor="#000000"/> </categoryAxisFormat> <valueAxisFormat> <axisFormat labelColor="#000000" tickLabelColor="#000000" axisLineColor="#000000"/> </valueAxisFormat> </linePlot> </xyLineChart> <textField> <reportElement x="143" y="111" width="100" height="30" uuid="a6f5c887-cac8-4304-b8d5-8b9bb492ee39"/> <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> </textField> </band>
我试图像这样更改代码,但这只是给我一个错误:
... <categoryAxisFormat> <axisFormat labelColor="#000000" tickLabelColor="#000000" axisLineColor="#000000"/> <categoryAxisLabelExpression><![CDATA["Days"]]></categoryAxisLabelExpression> </categoryAxisFormat> <valueAxisFormat> <axisFormat labelColor="#000000" tickLabelColor="#000000" axisLineColor="#000000"/> <valueAxisLabelExpression><![CDATA["fck"]]</valueAxisLabelExpression> </valueAxisFormat> ...
此外,我在Jaspersoft Studio的图表属性选项卡中也找不到能解决问题的任何方法。我可以找到指向
valueAxisLabelExpression
和valueAxisFormat
属性的任何参考,但是我不知道如何设置它们。
附加信息:
subDataSets
和JRBeanCollectionDataSource
class
总而言之,我想知道如何在JasperReport中的label
的X和Y轴上放置XYLineChart
。
谢谢大家的帮助。
我正在使用Jasper Reports研究Java,并且尝试使用XYLineChart创建报告。我的报告可以,所有数据都可以显示我想要的方式。我的图表正在绘制所有数据,但X和Y ...
经过一些尝试和阅读,我做了想要的事情。