Wie lässt sich ein Tortendiagramm erstellen?

In einem Tortendiagramm werden Teilmengen als Kreissegmente dargestellt. In JavaFX lässt sich dies durch die Klasse javafx.scene.chart.PieChart realisieren. Das Beispiel zeigt die Mengenanteile der für das Wohnen genutzten Energieträger für das Jahr 2019[1].

Nach dem Erzeugen des PieChart-Objektes wird dessen Speicherstruktur, eine ObservableList, durch getData() ermittelt. Durch deren Methode add() werden ihr Daten hinzugefügt. Dies geschieht in Form von PieChart.Data-Objekten, die jeweils einen String als Bezeichner sowie einen double-Wert als Parameter erwarten. Die PieChart wird der Scene hinzugefügt und durch Stylesheets konfiguriert.

Dies bezieht sich im vorliegenden Fall lediglich auf die Vergabe der Farbe Schwarz für den Abschnitt Kohle. In einer eigenen Datei ist hierzu die Angabe .default-color0.chart-pie { -fx-pie-color: #000; } notiert. Der Selektor bezieht sich mit der Angabe '0' im Bezeichner auf die als erstes angegebene Größe. Hier können Werte von 0 bis 7 für acht Abschnitte gewählt werden.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.PieChart;
import javafx.stage.Stage;

public class PieChartBsp extends Application {

    @Override
    public void start(Stage stage) {
        stage.setTitle("Tortendiagramm");

        final PieChart chart = new PieChart();
        chart.getData().add(new PieChart.Data("Kohle", 0.6));
        chart.getData().add(new PieChart.Data("Gas", 41.2));
        chart.getData().add(new PieChart.Data("Erneuerbare", 15.1));
        chart.getData().add(new PieChart.Data("Strom", 17.6));
        chart.getData().add(new PieChart.Data("Fernw\u00e4rme", 8.3));
        chart.getData().add(new PieChart.Data("Heiz\u00f6l", 17.2));
        chart.setTitle("Energieverbrauch Wohnen 2019");

        Scene scene = new Scene(chart, 500, 440);
        String stylesheet = getClass().getResource("/styles/styles.css").toExternalForm();
        scene.getStylesheets().add(stylesheet);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Tortendiagramm des Energieverbrauchs durch Wohnen nach Energieträgern

Konfiguration des Diagramms

Die gezeigte Version des Tortendiagramms entspricht der Standarddarstellung. Über das Setzen einer Reihe von Properties der Klassen PieChart und Chart kann das Diagramm weiter konfiguriert werden:

Typ Eigenschaft Funktion
BooleanProperty clockwiseProperty Wenn true (Standard) wird das Diagramm im Uhrzeigersinn aufgebaut.
DoubleProperty labelLineLength Länge der Linie zwischen Abschnittlabel und Kreis
BooleanProperty labelsVisible Wenn true (Standard) werden zu jedem Abschnitt ein Label mit dem Bezeichner und eine feine Linie angezeigt.
DoubleProperty startAngle Der Winkel ab dem der Aufbau des Diagramms erfolgen soll.
BooleanProperty legendVisible Wenn true (Standard) wird die Legende angezeigt.
ObjectProperty<Side> legendSide Über die vier statischen Konstanten BOTTOM, TOP, LEFT, RIGHT der Klasse Side kann die Position der Legende im Diagramm gesetzt werden.
ObjectProperty<Side> titleSide Über die vier statischen Konstanten BOTTOM, TOP, LEFT, RIGHT der Klasse Side kann die Position des Diagrammtitels gesetzt werden.
Quellen
  1. Datenquelle: https://www.dashboard-deutschland.de/indicator/data_woh_energieverbrauch_energietraeger