2016-09-11 33 views
3

我對碧玉報告完全陌生。我正在嘗試創建一個具有此數據結構的條形圖,但無法實現。如何在jasper studio中創建條形圖?

Name Q1 Q2 Q3 Q4 
abc  60 96 79 85 
def  83 77 83 73 
ghi  94 69 67 87 

是否有可能創建具有上述結構的圖表,還是應該更改數據結構以獲取條形圖。

這是樣品JRXML

<?xml version="1.0" encoding="UTF-8"?> 
<!-- Created with Jaspersoft Studio version 6.3.0.final using JasperReports Library version 6.3.0 --> 
<!-- 2016-09-12T11:37:15 --> 
<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="test" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="9153320a-9e2c-4254-80a5-669c62ee70f6"> 
    <property name="com.jaspersoft.studio.data.sql.tables" value=""/> 
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="mysql-stratupdev"/> 
    <queryString> 
     <![CDATA[select * from stratupdev.test1 ]]> 
    </queryString> 
    <field name="name" class="java.lang.String"/> 
    <field name="q1" class="java.lang.Integer"/> 
    <field name="q2" class="java.lang.Integer"/> 
    <field name="q3" class="java.lang.Integer"/> 
    <field name="q4" class="java.lang.Integer"/> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band height="79" splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band height="35" splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band height="30" splitType="Stretch"> 
      <staticText> 
       <reportElement x="0" y="0" width="111" height="30" uuid="f55a3f0f-fc46-46ff-a76c-6746cae5ac78"/> 
       <text><![CDATA[name]]></text> 
      </staticText> 
      <staticText> 
       <reportElement x="111" y="0" width="111" height="30" uuid="5b0b0684-f63c-495b-b8b2-afd7a51487f6"/> 
       <text><![CDATA[q1]]></text> 
      </staticText> 
      <staticText> 
       <reportElement x="222" y="0" width="111" height="30" uuid="2db0ef96-cabe-4bc1-b930-31ec7e44ccbc"/> 
       <text><![CDATA[q2]]></text> 
      </staticText> 
      <staticText> 
       <reportElement x="333" y="0" width="111" height="30" uuid="1ec47906-2e4b-4014-b6d9-a4333c44005a"/> 
       <text><![CDATA[q3]]></text> 
      </staticText> 
      <staticText> 
       <reportElement x="444" y="0" width="111" height="30" uuid="8e655e66-48dc-4806-93f9-e8514678e5d7"/> 
       <text><![CDATA[q4]]></text> 
      </staticText> 
     </band> 
    </columnHeader> 
    <detail> 
     <band height="30" splitType="Stretch"> 
      <textField> 
       <reportElement x="0" y="0" width="111" height="30" uuid="97e4aa43-c7b7-4335-94b3-a8f4cc04983f"/> 
       <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="111" y="0" width="111" height="30" uuid="032570f4-bc42-4974-b5d9-e1a57d75a9b0"/> 
       <textFieldExpression><![CDATA[$F{q1}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="222" y="0" width="111" height="30" uuid="5a5303d6-c343-4b42-ab45-3c42a7784309"/> 
       <textFieldExpression><![CDATA[$F{q2}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="333" y="0" width="111" height="30" uuid="15a97e0a-8e64-4124-b99e-a59bd4fd1975"/> 
       <textFieldExpression><![CDATA[$F{q3}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="444" y="0" width="111" height="30" uuid="a503c376-e3c5-49e2-8891-6ce6e638ae26"/> 
       <textFieldExpression><![CDATA[$F{q4}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
    <columnFooter> 
     <band height="45" splitType="Stretch"/> 
    </columnFooter> 
    <pageFooter> 
     <band height="54" splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band height="213" splitType="Stretch"> 
      <barChart> 
       <chart evaluationTime="Report"> 
        <reportElement x="0" y="13" width="555" height="200" uuid="04fefe3b-b0c7-4aa5-bd45-8d654c81bfa5"/> 
        <chartTitle/> 
        <chartSubtitle/> 
        <chartLegend/> 
       </chart> 
       <categoryDataset> 
        <categorySeries> 
         <seriesExpression><![CDATA["SERIES 1"]]></seriesExpression> 
         <categoryExpression><![CDATA[$F{name}]]></categoryExpression> 
         <valueExpression><![CDATA[$F{q1}]]></valueExpression> 
        </categorySeries> 
       </categoryDataset> 
       <barPlot> 
        <plot/> 
        <itemLabel/> 
        <categoryAxisFormat> 
         <axisFormat/> 
        </categoryAxisFormat> 
        <valueAxisFormat> 
         <axisFormat/> 
        </valueAxisFormat> 
       </barPlot> 
      </barChart> 
     </band> 
    </summary> 
</jasperReport> 

但我想輸出如圖這個圖像英寸

enter image description here

+0

是的,可以告訴你,你怎麼想,你試過條形圖也許有些JRXML。 –

+2

我已經通過添加jrxml和圖表所需的輸出來編輯我的問題。 – leelavinodh

回答

5

你喜歡要顯示的圖表具有4類系列(Q1,Q2,Q3和Q4),這意味着你需要單獨添加所有這些類別系列。

<categoryDataset> 
    <categorySeries> 
     <seriesExpression><![CDATA[$F{name}]]></seriesExpression> 
     <categoryExpression><![CDATA["Q1"]]></categoryExpression> 
     <valueExpression><![CDATA[$F{q1}]]></valueExpression> 
    </categorySeries> 
    <categorySeries> 
     <seriesExpression><![CDATA[$F{name}]]></seriesExpression> 
     <categoryExpression><![CDATA["Q2"]]></categoryExpression> 
     <valueExpression><![CDATA[$F{q2}]]></valueExpression> 
    </categorySeries> 
    <categorySeries> 
     <seriesExpression><![CDATA[$F{name}]]></seriesExpression> 
     <categoryExpression><![CDATA["Q3"]]></categoryExpression> 
     <valueExpression><![CDATA[$F{q3}]]></valueExpression> 
    </categorySeries> 
    <categorySeries> 
     <seriesExpression><![CDATA[$F{name}]]></seriesExpression> 
     <categoryExpression><![CDATA["Q4"]]></categoryExpression> 
     <valueExpression><![CDATA[$F{q4}]]></valueExpression> 
    </categorySeries> 
</categoryDataset> 

正如你可以看到我已經手動設置爲「Q1」,「Q2」 ...等的categoryExpressionvalueExpression指向每個類別的值,而seriesExpression將永遠是相同的$F{name} (它永遠不會在我們的類別變更)

的JasperSoft工作室(雙擊圖表打開的對話框),你這樣做是通過添加系列,然後選擇各個系列設定值和類別選擇的系列

JasperSoft Studio

最終結果報表的設置此categoryDataset

Result

+1

非常感謝您幫助我獲得截圖。 – leelavinodh

+1

@leelavinodh歡迎您,我喜歡畫出自由的圈子:) –

+0

需要一個額外的信息。隨着這個輸出,我該如何顯示其中一個系列作爲次軸。 – leelavinodh