Charts 如何在iReport中用DB数据绘制散点图?
我添加了DB查询,使用它我可以在详细视图中查看数据 但无法绘制散点图。X轴有一列,Y轴有一列,标签名称有一列。如何使用iReport绘制此图Charts 如何在iReport中用DB数据绘制散点图?,charts,jasper-reports,ireport,scatter-plot,Charts,Jasper Reports,Ireport,Scatter Plot,我添加了DB查询,使用它我可以在详细视图中查看数据 但无法绘制散点图。X轴有一列,Y轴有一列,标签名称有一列。如何使用iReport绘制此图 我已经添加了散点图调色板,但没有得到任何关于如何设置X轴和Y轴的列以绘制所有点的文档。我在散点图中只得到了一点。您的第一个问题是将数据源传递给图表,如果您使用的是主数据源,则需要将图表放在摘要带中,因为您的数据源在标题带中没有准备好,并且正在细节带上迭代,因此它将无法正常工作(注意:如果您使用的数据源也是详细的,那么它需要是一个标签) 如果您需要在其他波段
我已经添加了散点图调色板,但没有得到任何关于如何设置X轴和Y轴的列以绘制所有点的文档。我在散点图中只得到了一点。您的第一个问题是将数据源传递给图表,如果您使用的是主数据源,则需要将图表放在
摘要
带中,因为您的数据源在标题
带中没有准备好,并且正在细节
带上迭代,因此它将无法正常工作(注意:如果您使用的数据源也是详细的,那么它需要是一个标签)
如果您需要在其他波段使用它,那么摘要
波段我建议您制作一个子报告,并将其包含在所需波段传递图表数据源或到子报告的连接中
散点图通过使用
和
来实现,以设置使用
标记的系列和x、y数据
在iReport中,右键单击图表,选择图表数据,选择选项卡详细信息
和添加XY系列
完整的jrxml示例
<?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="ScatterPlot" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="ebc92eb9-c769-4888-98de-b1d60670725c">
<queryString>
<![CDATA[]]>
</queryString>
<field name="Series" class="java.lang.String"/>
<field name="X" class="java.lang.Double"/>
<field name="Y" class="java.lang.Double"/>
<columnHeader>
<band height="20">
<staticText>
<reportElement x="100" y="0" width="100" height="20" uuid="978a0093-4e67-40e3-baee-8340ccc23b8f"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[X]]></text>
</staticText>
<staticText>
<reportElement x="0" y="0" width="100" height="20" uuid="b97c9f78-ad74-4d9f-af46-ee3fc3e5351f"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Series]]></text>
</staticText>
<staticText>
<reportElement x="200" y="0" width="100" height="20" uuid="e50dab9b-c8f7-4cc0-a8f7-3ca4438c746b"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Y]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="20">
<textField pattern="###0.00">
<reportElement x="100" y="0" width="100" height="20" uuid="8d365885-a6f8-40be-8ad0-012e45a37543"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{X}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="100" height="20" uuid="f08b3a38-8130-4609-b70d-b10b9d8d648b"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Series}]]></textFieldExpression>
</textField>
<textField pattern="###0.00">
<reportElement x="200" y="0" width="100" height="20" uuid="83638866-5bd1-4ee4-ac1a-455c406f3621"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Y}]]></textFieldExpression>
</textField>
</band>
</detail>
<summary>
<band height="257" splitType="Stretch">
<scatterChart>
<chart>
<reportElement x="4" y="16" width="280" height="237" uuid="b9968e83-13aa-48fc-acf5-3d646f45f28d"/>
<chartTitle/>
<chartSubtitle/>
<chartLegend/>
</chart>
<xyDataset>
<xySeries>
<seriesExpression><![CDATA[$F{Series}]]></seriesExpression>
<xValueExpression><![CDATA[$F{X}]]></xValueExpression>
<yValueExpression><![CDATA[$F{Y}]]></yValueExpression>
</xySeries>
</xyDataset>
<scatterPlot isShowLines="false" isShowShapes="true">
<plot/>
<xAxisFormat>
<axisFormat/>
</xAxisFormat>
<yAxisFormat>
<axisFormat/>
</yAxisFormat>
</scatterPlot>
</scatterChart>
</band>
</summary>
</jasperReport>
+--------+-----+-----+
| Series | X | Y |
+--------+-----+-----+
| A | 1.2 | 0.3 |
| A | 0.5 | 0.2 |
| B | 0.7 | 0.6 |
| B | 0.1 | 0.5 |
+--------+-----+-----+
结果
若要配置图表,请使用图表上的属性设置,如果您需要特殊配置,而这些配置无法通过您可以实现的属性实现
看看这个例子
添加接近票数的问题有什么不对?仅供参考,iReport在很长一段时间内都不受欢迎
如何使用iReport工具绘制此问题?
-这是一个太宽泛的问题,不是吗?我无法使用iReport工具在散点图上绘制多个点?我肯定缺少一些配置。你确定iReport是正确的吗已弃用?@AlexK您确定ireport已弃用吗?
-是的。最好使用如何制作象限?例如X轴将绘制在Y轴的中间,Y轴将绘制在X轴的中间?为此,您可能需要ChartCustomizer,jfreechart public void setDomainZeroBaselineVisible中有一个方法(布尔值可见);,但您可能应该提出另一个问题,确切说明您需要什么。@SomnathMuluk,对此仍有问题吗?
<?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="ScatterPlot" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="ebc92eb9-c769-4888-98de-b1d60670725c">
<queryString>
<![CDATA[]]>
</queryString>
<field name="Series" class="java.lang.String"/>
<field name="X" class="java.lang.Double"/>
<field name="Y" class="java.lang.Double"/>
<columnHeader>
<band height="20">
<staticText>
<reportElement x="100" y="0" width="100" height="20" uuid="978a0093-4e67-40e3-baee-8340ccc23b8f"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[X]]></text>
</staticText>
<staticText>
<reportElement x="0" y="0" width="100" height="20" uuid="b97c9f78-ad74-4d9f-af46-ee3fc3e5351f"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Series]]></text>
</staticText>
<staticText>
<reportElement x="200" y="0" width="100" height="20" uuid="e50dab9b-c8f7-4cc0-a8f7-3ca4438c746b"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Y]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="20">
<textField pattern="###0.00">
<reportElement x="100" y="0" width="100" height="20" uuid="8d365885-a6f8-40be-8ad0-012e45a37543"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{X}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="100" height="20" uuid="f08b3a38-8130-4609-b70d-b10b9d8d648b"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Series}]]></textFieldExpression>
</textField>
<textField pattern="###0.00">
<reportElement x="200" y="0" width="100" height="20" uuid="83638866-5bd1-4ee4-ac1a-455c406f3621"/>
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2">
<pen lineWidth="0.5"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Y}]]></textFieldExpression>
</textField>
</band>
</detail>
<summary>
<band height="257" splitType="Stretch">
<scatterChart>
<chart>
<reportElement x="4" y="16" width="280" height="237" uuid="b9968e83-13aa-48fc-acf5-3d646f45f28d"/>
<chartTitle/>
<chartSubtitle/>
<chartLegend/>
</chart>
<xyDataset>
<xySeries>
<seriesExpression><![CDATA[$F{Series}]]></seriesExpression>
<xValueExpression><![CDATA[$F{X}]]></xValueExpression>
<yValueExpression><![CDATA[$F{Y}]]></yValueExpression>
</xySeries>
</xyDataset>
<scatterPlot isShowLines="false" isShowShapes="true">
<plot/>
<xAxisFormat>
<axisFormat/>
</xAxisFormat>
<yAxisFormat>
<axisFormat/>
</yAxisFormat>
</scatterPlot>
</scatterChart>
</band>
</summary>
</jasperReport>
+--------+-----+-----+
| Series | X | Y |
+--------+-----+-----+
| A | 1.2 | 0.3 |
| A | 0.5 | 0.2 |
| B | 0.7 | 0.6 |
| B | 0.1 | 0.5 |
+--------+-----+-----+