2014-09-24 42 views
1

我在找Bubble Chart教程/范例JasperReports。我确实得到了我的预期资源,示例程序jrxml模板。我已经在线寻找并且Jasper Ultimate Guide。为什么我问这个问题就是在这里保留这个问题的答案。不是其他的(例如:JavaFX图表),我必须使用JasperReports有没有使用JasperReports的Bubble Chart的资源?

任何机构都可以帮助我提供简单的程序,如下面的数据(不是主题)。

数据

enter image description here

enter image description here

回答

0

在这里,我得到了我的示例程序JasperReportBubble 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> 

输出

enter image description here