Besonderheiten:
Die Formatierung des Pie Charts muss je nach Größe (bereitstehender Platz) auf drei Ebenen erfolgen. Da beispielsweise beim die Einstellungen des Labels bzgl. der Schrift nicht vom Designer ins XML übernommen wird.
Erste Ebene Formatierung des Labels erfolgt mit Hilfe von Makros im Designer (Property: Label format)
{0} nur Text {1} mit Number {2} Prozentangabe
Zweite Ebene Schriftart und Größe muss manuell ins XML eingetragen werden. Vorsicht! Wenn im Designer was geändert wird, ist der Eintrag wahrscheinlich gelöscht.
<pie3DPlot depthFactor="0.1" isCircular="true" labelFormat="{0} {2}" legendLabelFormat=""> <plot/> <itemLabel> <font fontName="Calibri" size="8"/> </itemLabel> </pie3DPlot>
das gilt für pie3DPlot als auch für piePlot
Dritte Ebene Anpassung der Labelgrösse erfolgt über das Property : Customizer Class
ebenfalls kann hier die Schrift eingesetzt werden.
package org.axismanipulation; import java.awt.Color; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot; import net.sf.jasperreports.engine.JRAbstractChartCustomizer; import net.sf.jasperreports.engine.JRChart; import java.awt.Font; public class PieManipulation extends JRAbstractChartCustomizer{ @Override public void customize(JFreeChart chart, JRChart jasperChart) { PiePlot plot = (PiePlot)chart.getPlot(); plot.setInteriorGap(0.02); plot.setMaximumLabelWidth(0.20); plot.setBackgroundPaint(Color.white); Font font = new Font("Calibri", Font.PLAIN, 7); plot.setLabelFont(font); plot.setCircular(true); } }
Überblick
Inhalte