Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Es In einem Multi Axis Chart lassen sich mehrerer mehrere Diagramme gleichen Typs kombinieren (XYBAR <> BAR ; LINE = BAR)

...

.

Erstellen eines Multi Axis Charts

Image Added1. Das Chart Element in der Palette auswählen und auf das gewünschte Band ziehen

2. Im Chart Wizard das Multi Axis Chart Element auswählen

3. Über Next > kann ein erstes Chart erstellt werden. 

4. Per Klick auf Finish wird die Erstellung abgeschlossen.

Hinzufügen einer weiteren ChartAxis

Image Added


Die Achse eines zweiten Diagramms soll auf die rechte Seite

Die einfachste Möglichkeit ist, das entsprechende Property in der Design Ansicht zu ändern.

Image Added

Ändern in der Design Ansicht

1. Wählen der zu verändernden Chart Axis

2. Anwählen des Chart Axis Tabs

3. Auswählen der gewünschten Position










Ändern in der XML

im Designer zu setzen, jedoch muss dafür in die XML-Ansicht gewechselt werden. Jedes Chart innerhalb des Tags  <MultiAxisChart> beginnt mit dem Tag <axis>, hier hinein muss das Property  position ="rightOrBottom" => <axis position ="rightOrBottom">. Aber Vorsicht nach dem Ändern der  XML-Properties über den Designer-Modus kann der Eintrag wieder weg sein. 

Ändern über Chart Customizer

Die zweite Möglichkeit ist die Verwendung der "Customizer Class", in Erstellung eines eigenen Chart Customizer. In Abhängigkeit des verwendeten Dioagramms Diagramms lautet die Zeile: 

Codeblock
java
java
@Override
public void customize(JFreeChart chart, JRChart jasperChart) {
        Plot plot = chart.getPlot();
        if (plot instanceof CategoryPlot) {
         
         ((CategoryPlot) plot).setRangeAxisLocation(AxisLocation.TOP_OR_RIGHT);
         ((CategoryPlot) plot).setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
         
        } else if (plot instanceof XYPlot) {
         
            ((XYPlot) plot).setRangeAxisLocation(AxisLocation.TOP_OR_RIGHT);
            ((XYPlot) plot).setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
		}
}
        

 

...