我正在寻找 JasperReports 的Bubble Chart
教程/示例。我确实获得了我预期的资源,示例程序和 jrxml
模板。我已经在网上找Jasper Ultimate Guide
了。为什么我问这个问题是为了在这里保留这个问题的答案。不是其他(例如:JavaFX Chart),我必须使用 JasperReports 。
任何正文帮我提供简单的程序,如下面的数据(不是主题)。
数据
图表
答案 0 :(得分:0)
我在这里获得了JasperReport
Bubble Chart
示例的示例程序。
Data.java
public class Data {
private String name;
private double x;
private double y;
private double z;
public Data(String name, double x, double y, double z) {
this.name = name;
this.x = x;
this.y = y;
this.z = z;
}
// getter, setter
}
BubbleChartTest.java
public class BubbleChartTest {
public static void main(String[] args) throws Exception {
List<Data> dataList = new ArrayList<Data>();
dataList.add(new Data("A", 1d, 3d, 0.3));
dataList.add(new Data("A", 2d, 3d, 0.2));
dataList.add(new Data("B", 5d, 6d, 0.4));
dataList.add(new Data("B", 4d, 3d, 0.2));
dataList.add(new Data("B", 2d, 5d, 0.1));
dataList.add(new Data("C", 5d, 6d, 0.2));
dataList.add(new Data("C", 2d, 3d, 0.3));
dataList.add(new Data("C", 4d, 5d, 0.4));
String templateFile = "resources/bubble.jrxml";
JasperDesign design = JRXmlLoader.load(templateFile);
JasperReport report = JasperCompileManager.compileReport(design);
Map parameter = new HashMap();
JasperPrint print = JasperFillManager.fillReport(report, parameter, new JRBeanCollectionDataSource(dataList));
JasperExportManager.exportReportToPdfFile(print, "D:/temp/bubble_chart.pdf");
}
}
bubble.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="BubbleChartReport" columnCount="2" pageWidth="595" pageHeight="842" columnWidth="270" columnSpacing="15" leftMargin="20" rightMargin="20" topMargin="30">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<field name="name" class="java.lang.String"/>
<field name="x" class="java.lang.Double"/>
<field name="y" class="java.lang.Double"/>
<field name="z" class="java.lang.Double"/>
<pageHeader>
<band height="203">
<bubbleChart>
<chart evaluationTime="Report" theme="aegean">
<reportElement positionType="Float" x="0" y="2" width="555" height="197"/>
<chartTitle/>
<chartSubtitle/>
<chartLegend/>
</chart>
<xyzDataset>
<xyzSeries>
<seriesExpression><![CDATA[$F{name}]]></seriesExpression>
<xValueExpression><![CDATA[$F{x}]]></xValueExpression>
<yValueExpression><![CDATA[$F{y}]]></yValueExpression>
<zValueExpression><![CDATA[$F{z}]]></zValueExpression>
</xyzSeries>
</xyzDataset>
<bubblePlot scaleType="RangeAxis">
<plot/>
<xAxisFormat>
<axisFormat/>
</xAxisFormat>
<yAxisFormat>
<axisFormat/>
</yAxisFormat>
</bubblePlot>
</bubbleChart>
</band>
</pageHeader>
</jasperReport>
输出