Sono nuovo di zecca per JasperReports e sto lentamente combattendo attraverso le basi. Ho una situazione in cui non voglio riempire un grafico a torta con dati basati su DB (tramite una cosiddetta fonte dati ). Voglio fornire tutte le informazioni necessarie per riempire il grafico a torta da una hashmap Java passata in JasperFillManager in fase di runtime.JasperReport Esempio di grafico a torta
Ciò include i parametri per etichettare le fette nel grafico a torta, impostare i loro colori e definire i loro pesi/valori (dimensione delle sezioni). Così, ad un certo punto nel mio codice Java, avrei scritto qualcosa simile:
HashMap<String,Object> jrParams = new HashMap<String,Object>();
jpParams.put("slice_1_label", "Red Team");
jpParams.put("slice_1_color", Color.RED);
jpParams.put("slice_1_value", 67.0);
jpParams.put("slice_2_label", "Blue Team");
jpParams.put("slice_2_color", Color.BLUE);
jpParams.put("slice_2_value", 33.0);
// ... some other code
JasperFillManager.fillReport(jasperDesign, jrParams);
L'obiettivo che sto cercando di realizzare qui sarebbe quello di avere un grafico a torta con 2 fette; una fetta rossa "Red Team" che occupa il 67% della torta e una fetta blu "Blue Team" aumenta del 33%.
Ora ho bisogno di aiuto per "connettere i punti" tra la mia hashmap e JRXML/JasperDesign.
Può qualcuno o me mostrare (o semplicemente aiutare mi guida) verso che tipo di <pieChart>
jrxml avrei bisogno di scrivere per avere il mio jrParam
hashmap riempire il grafico a torta con i parametri di esecuzione? Ho fatto un tentativo migliore sotto, ma sto solo cercando di dare un senso a tutto.
<pieChart>
<chart isShowLegend="true">
<reportElement x="10" y="10" width="300" height="300"/>
<chartTitle>
<titleExpression><![CDATA[My First JR Pie Chart]]></titleExpression>
</chartTitle>
</chart>
<pieDataset>
<!-- Here is where I believe I need to put my two slices; not sure how -->
</pieDataset>
<piePlot>
<plot backcolor="#8BA870"/>
<itemLabel color="#000000"/>
</piePlot>
</pieChart>
Grazie in anticipo per qualsiasi aiuto/chiarimento!
Mechkov grazie per la risposta. Sì, sto usando iReports (e il suo esempio di grafici) che è il punto in cui ho ottenuto la maggior parte del JRXML nella mia domanda. Concordo sul fatto che nella maggior parte dei casi vorrei compilare i dati del mio rapporto con una JRDataSource e, in questo caso, su JRBeanDataSource. Tuttavia, mi sto semplicemente chiedendo se è possibile usare una pura hashmap di parametri e, in tal caso, come sarebbe il JRXML. Grazie ancora per la tua risposta! – IAmYourFaja
In alternativa, accetterei la tua risposta se potessi modificarla per fornire come scrivere JRXML per lavorare con una JRBeanArrayDataSource. Supponiamo che io abbia un bean PieSlice che abbia etichette String, Color color e Double value come le sue sole 3 proprietà, così come getter/setter standard per ognuna di esse. Passo quindi a JasperFillManager un array (con dimensione = 2 corrispondente alle 2 fette nella mia domanda originale) di questi PieSlices in fase di riempimento. Che aspetto ha il JRXML adesso? – IAmYourFaja
@Zharvey Stavo per scrivere l'intero codice, ma sono incappato in questa grande spiegazione ... Dai un'occhiata ... Oh, e spero che ti dia un'idea di come farlo con una mappa o una fonte di dati Elenco .. .Fammi sapere se hai altre domande. Saluti! http://gilbertadjin.wordpress.com/2009/08/09/charting-with-jasper-reports/ – Mechkov