(Stacked) Area Chart in JavaFX
In diesem Artikel behandeln wir das Area Chart in JavaFX. Dabei handelt es sich um ein weiteres zwei Achsen Chart. Es unterscheidet sich zum Liniendiagramm hauptsächlich dadurch, dass unter der Linie die Linienfarbe auch ausgefüllt wird, bis zum 0 Punkt, bzw dem niedrigsten Punkt.
Beispiel für Area Chart in JavaFX.
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.AreaChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
// Setzen des Titels unserer Stage
primaryStage.setTitle("Area Chart Beispiel");
// Anlegen der Achsen und deren Reichweiten
final NumberAxis xAxis = new NumberAxis(2012, 2015, 1);
final NumberAxis yAxis = new NumberAxis(0, 20, 5);
// Anlegen und Initialsiieren des Area Charts, mit den Achsen
final AreaChart<Number,Number> areaChart =
new AreaChart<Number,Number>(xAxis,yAxis);
xAxis.setForceZeroInRange(true);
// Titel des Area Chart der oben angezeigt wird.
areaChart.setTitle("Entwicklung");
// Die Series in der die Datensätze eingefügt werden
XYChart.Series series1 = new XYChart.Series();
series1.setName("Umsatz");
series1.getData().add(new XYChart.Data(2012, 10));
series1.getData().add(new XYChart.Data(2013, 13));
series1.getData().add(new XYChart.Data(2014, 16));
series1.getData().add(new XYChart.Data(2015, 18));
XYChart.Series series2 = new XYChart.Series();
series2.setName("Gewinn");
series2.getData().add(new XYChart.Data(2012, 2));
series2.getData().add(new XYChart.Data(2013, 3));
series2.getData().add(new XYChart.Data(2014, 4));
series2.getData().add(new XYChart.Data(2015, 5));
Scene scene = new Scene(areaChart,640,480);
areaChart.getData().addAll(series1, series2);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
Damit erhalten wir folgendes Programm:
[image img_id=”6237″ alt=”area Chart Beispiel” width=”300″ height=”243″]
Außer der Area Chart gibt es noch die Stacked Area Chart. In der die Einträge quasi aufeinandergestapelt werden.
Beispiel für Stacked Area Chart in JavaFX
// Setzen des Titels unserer Stage
primaryStage.setTitle("Stacked Area Chart Beispiel");
// Anlegen der Achsen und deren Reichweiten
final NumberAxis xAxis = new NumberAxis(2012, 2015, 1);
final NumberAxis yAxis = new NumberAxis(0, 30, 5);
// Anlegen und Initialsiieren des Area Charts, mit den Achsen
final StackedAreaChart<Number,Number> stackedAreaChart =
new StackedAreaChart<Number,Number>(xAxis,yAxis);
xAxis.setForceZeroInRange(true);
// Titel des Area Chart der oben angezeigt wird.
stackedAreaChart.setTitle("Gesamtkosten");
// Die Series in der die Datensätze eingefügt werden
XYChart.Series series1 = new XYChart.Series();
series1.setName("Kosten Produkt A");
series1.getData().add(new XYChart.Data(2012, 10));
series1.getData().add(new XYChart.Data(2013, 13));
series1.getData().add(new XYChart.Data(2014, 16));
series1.getData().add(new XYChart.Data(2015, 18));
XYChart.Series series2 = new XYChart.Series();
series2.setName("Kosten Produkt B");
series2.getData().add(new XYChart.Data(2012, 2));
series2.getData().add(new XYChart.Data(2013, 3));
series2.getData().add(new XYChart.Data(2014, 4));
series2.getData().add(new XYChart.Data(2015, 5));
Scene scene = new Scene(stackedAreaChart,640,480);
stackedAreaChart.getData().addAll(series1, series2);
primaryStage.setScene(scene);
primaryStage.show();
Das Ergebnis ist folgendes: