• Startseite
  • Tutorials
  • Kontakt
  • Mein Account
Panjutorials
  • Startseite
  • Tutorials
  • Kontakt
  • Mein Account

Balkendiagramm – Bar Chart in JavaFX

In diesem Artikel geht es um das (Balkendiagramm) Bar Chart in JavaFX. Es wird sehr häufig dafür verwendet, verschiedene Elemente und ihre Verbreitung mit einander zu vergleichen. Z.B. die Verbreitung der verschiedenen Betriebssysteme für mobile Geräte.

Beispiel für ein Balkendiagramm – Bar Chart in JavaFX


package application;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;

public class Main extends Application {
	
	 final static String itemA = "Android";
	 final static String itemB = "iOS";
	 final static String itemC = "Win10";
	    
	@Override
	public void start(Stage primaryStage) {
		try {
			// Angeben wie die Achsen sein sollen
			final NumberAxis xAxis = new NumberAxis();
			final CategoryAxis yAxis = new CategoryAxis();

			// Anlegen der BarChart und angabe wie die Anordnung
	        final BarChart<Number, String> barChart = new BarChart<Number, String>(xAxis, yAxis);
	        barChart.setTitle("Verbreitung");
	        xAxis.setLabel("Wert");
	        yAxis.setLabel("Betriebssystem");

	        // Anlegen einer Serie mit den jeweiligen Werten und dem Item
	        // dem sie zugeordnet werden.
	        XYChart.Series series1 = new XYChart.Series();
	        series1.setName("2014");
	        series1.getData().add(new XYChart.Data(80, itemA));
	        series1.getData().add(new XYChart.Data(15, itemB));
	        series1.getData().add(new XYChart.Data(5, itemC));

	        XYChart.Series series2 = new XYChart.Series();
	        series2.setName("2015");
	        series2.getData().add(new XYChart.Data(83, itemA));
	        series2.getData().add(new XYChart.Data(13, itemB));
	        series2.getData().add(new XYChart.Data(4, itemC));
	    
		    Scene scene = new Scene(barChart, 640, 480);
		    barChart.getData().addAll(series1, series2);
			
			primaryStage.setScene(scene);
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}

[image img_id=”6244″ alt=”Balkendiagramm Bar Chart in JavaFX” width=”300″ height=”242″]

Du siehst also, es unterscheidet sich nur unwesentlich von den bisherigen Diagrammen, die wir gesehen haben. Wenn wir nun die Achsen z.B. vertauschen wollen, so müssen wir diese drei Zeilen vearbeiten:

final NumberAxis xAxis = new NumberAxis();
final CategoryAxis yAxis = new CategoryAxis();
final BarChart<Number, String> barChart = new BarChart<Number, String>(xAxis, yAxis);

Sodass sie folgendermaßen aussehen:


final CategoryAxis xAxis = new CategoryAxis();
final NumberAxis yAxis = new NumberAxis();
final BarChart<String, Number> barChart = new BarChart<String, Number>(xAxis, yAxis);

Außerdem dürfen wir natürlich nicht vergessen alle unsere seriesData anzupassen wie z.B. das hier:


series1.getData().add(new XYChart.Data(itemC, 5));

Dann sieht es so aus:

Balkendiagramm Bar Chart in JavaFX gedreht