Einführung in JavaFX Bar Chart

In JavaFX werden Balkendiagramme verwendet, um die Daten in Form von Rechteckbalken anzuzeigen, wobei Höhe und Länge auf dem Anteil des Werts basieren. Ein Balkendiagramm kann durch Instanziieren der Klasse JavaFX.scene.chart.BarChart erstellt werden. Lassen Sie uns Syntax, Konstruktor und Methoden des JavaFX-Balkendiagramms im Detail betrachten.

Syntax :

BarChart ll = new BarChart(x, y);

Hier sind x und y die beiden Achsen des Diagramms.

Konstruktoren des JavaFX-Balkendiagramms

Das JavaFX-Balkendiagramm enthält drei Konstruktoren.

BarChart (Achse X, Achse Y): Eine neue Instanz des Balkendiagramms wird mit der angegebenen Achse erstellt.

BarChart (Achse X, Achse Y, ObservableList D) : Eine neue Instanz des Balkendiagramms wird mit der angegebenen Achse und den angegebenen Daten erstellt.

BarChart (Achse X, Achse Y, ObservableList D, double categoryGap) : Eine neue Instanz des Balkendiagramms wird mit den angegebenen Achsen-, Daten- und Kategorielücken erstellt.

Methoden von JavaFX Bar Chart

Es gibt verschiedene Methoden, um verschiedene Funktionen eines Balkendiagramms auszuführen.

dataItemAdded (Reihen s, int index, XYChart.Data i) : Wenn ein Datenelement i zu den Reihen s hinzugefügt wird, wird diese Methode aufgerufen.

dataItemChanged (Data i): Wenn ein Datenelement i geändert wird, wird diese Methode aufgerufen. Das Element kann ein x-Wert, ein y-Wert oder ein zusätzlicher Wert sein.

dataItemRemoved (Data i, XYChart.Series s): Wenn ein Datenelement i entfernt wird und im Diagramm weiterhin sichtbar ist, wird diese Methode aufgerufen.

layoutPlotChildren (): Diese Methode wird aufgerufen, um die untergeordneten Diagramme zu aktualisieren und zu layouten .

seriesAdded (Series s, int sIndex): Eine Serie s wird zum Diagramm hinzugefügt.

seriesRemoved (Series s): Diese Methode wird aufgerufen, wenn eine Serie s entfernt wurde und im Diagramm weiterhin sichtbar ist.

updateLegend (): Diese Methode wird aufgerufen, wenn eine Serie entfernt oder hinzugefügt wird und die Legende aktualisiert werden muss.

barGapProperty (): Die Lücke, die zwischen Balken derselben Kategorie liegen muss.

categoryGapProperty (): Die Lücke, die zwischen Balken verschiedener Kategorien liegen muss.

getBarGap () : Der Wert der Eigenschaft barGap wird zurückgegeben.

getBarGap (): Der Wert der Eigenschaft barGap wird zurückgegeben.

getCategoryGap (): Der Wert der CategoryGap-Eigenschaft wird zurückgegeben.

setBarGap (double v): Der Wert der Eigenschaft barGap wird festgelegt.

setCategoryGap (double v): Der Wert der CategoryGap-Eigenschaft wird festgelegt.

Wie erstelle ich ein JavaFX-Balkendiagramm?

Um ein JavaFX-Balkendiagramm zu erstellen, können die folgenden Schritte ausgeführt werden.

1. Erstellen Sie eine Klasse

Erstellen Sie eine Klasse, die sich von der Anwendungsklasse erstreckt. Importieren Sie dazu die Klasse JavaFX.application.Application.

public class JavaFXChartsExample extends Application (
)

2. Konfigurieren Sie die X- und Y-Achse

Es gibt zwei Arten von Achsen: CategoryAxis und NumberAxis. Achsendetails müssen wie folgt erwähnt werden.

//x axis
CategoryAxis x = new CategoryAxis();
x.setLabel("Mobile");
//y axis
NumberAxis y = new NumberAxis();

3. Erstellen Sie das Balkendiagramm

Instanziieren Sie die Klasse javafx.scene.chart.BarChart. Die folgende Syntax wird für BarChart verwendet.

//bar chart creation>
BarChart bc = new BarChart(x, y);

4. Fügen Sie der Reihe und dem Diagramm Daten hinzu

Dies ist der wichtigste Schritt in diesem Prozess, in dem eine Instanz für XYChart.Series erstellt wird. Danach werden die Werte, die im Diagramm angezeigt werden müssen, mit der folgenden Syntax hinzugefügt.

XYChart.Series sr = new XYChart.Series();
sr.getData().add(new XYChart.Data( 1, 567));

Fügen Sie der oben erstellten Reihe Daten hinzu, indem Sie die folgende Syntax verwenden.

ll.getData().add(sr);

5. ConfigureGroup und Scene

Als nächstes werden eine Gruppe und eine Szene erstellt. Die Szene wird erstellt, indem die Klasse javafx instanziiert wird. Szene, sobald die Gruppe erstellt ist. Dann kann nur die Gruppe als eines der Argumente in der Szene übergeben werden.

VBox vbox = new VBox(ll);
//create scene
Scene sc = new Scene(vbox, 400, 200);
//set scene
s.setScene(sc);
//set height and width
s.setHeight(350);
s.setWidth(1250);
//display the result
s.show();

Programm zur Implementierung von JavaFX Bar Chart

Sehen wir uns nun verschiedene JavaFX-Programme an, um ein Balkendiagramm zu implementieren und ein besseres Verständnis für dasselbe zu erhalten.

Programm 1:

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.scene.layout.VBox;
import javafx.stage.Stage;
public class JavaFXChartsExample extends Application (
@Override
public void start(Stage s) (
s.setTitle("BarChart Sample");
//x axis
CategoryAxis x = new CategoryAxis();
x.setLabel("Mobile");
//y axis
NumberAxis y = new NumberAxis();
y.setLabel("count");
//bar chart creation
BarChart bc = new BarChart(x, y);
//add values
XYChart.Series ds = new XYChart.Series();
ds.setName("January");
ds.getData().add(new XYChart.Data("Samsung", 33));
ds.getData().add(new XYChart.Data("Xiaomi", 25));
ds.getData().add(new XYChart.Data("Honor", 10));
bc.getData().add(ds);
//vertical box
VBox vbox = new VBox(bc);
Scene sc = new Scene(vbox, 300, 200);
s.setScene(sc);
s.setHeight(300);
s.setWidth(1200);
s.show();
)
public static void main(String() args) (
Application.launch(args);
)
)

Ausgabe:

Es wird ein vertikales Balkendiagramm mit 3 Kategorien erstellt: Samsung, Xiaomi, Honor, Zählung auf der y-Achse und Mobil auf der x-Achse.

Programm 2:

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 JavaFXBarChartExample extends Application (
//declare all the string values
final static String A = "Happy";
final static String B = "Sad";
final static String C = "Mixed emotions";
@Override public void start(Stage s) (
//set title
s.setTitle("Bar Chart Sample");
//x and y axis
final NumberAxis x = new NumberAxis();
final CategoryAxis y = new CategoryAxis();
//create bar chart
final BarChart b =
new BarChart(x, y);
b.setTitle("Emotions of people");
//set title for x axis
x.setLabel("Percentage");
x.setTickLabelRotation(90);
//set title for y axis
y.setLabel("Emotion");
//dataset on 1999
XYChart.Series s1 = new XYChart.Series();
s1.setName("1999");
s1.getData().add(new XYChart.Data(10, A));
s1.getData().add(new XYChart.Data(60, B));
s1.getData().add(new XYChart.Data(30, C));
//dataset on 2009
XYChart.Series s2 = new XYChart.Series();
s2.setName("2009");
s2.getData().add(new XYChart.Data(50, A));
s2.getData().add(new XYChart.Data(30, C));
s2.getData().add(new XYChart.Data(20, B));
//dataset on 2019
XYChart.Series S3 = new XYChart.Series();
S3.setName("2019");
S3.getData().add(new XYChart.Data(70, A));
S3.getData().add(new XYChart.Data(25, B));
S3.getData().add(new XYChart.Data(5, C));
//create scene
Scene sc = new Scene(b, 700, 500);
b.getData().addAll(s1, s2, S3);
//set scene
s.setScene(sc);
//display result
s.show();
)
public static void main(String() args) (
launch(args);
)
)

Ausgabe:

In diesem Programm wird ein horizontales Balkendiagramm mit 3 Kategorien erstellt, Prozentsatz auf der x-Achse und Emotion auf der y-Achse.

Fazit

Es gibt mehrere Diagramme zur Darstellung von Daten. Ein Balkendiagramm ist ein solches Diagramm, in dem Daten in rechteckigen Balken dargestellt werden.

Empfohlene Artikel

Dies war ein Leitfaden für JavaFX-Balkendiagramme. Hier wird auch erläutert, wie Sie ein JavaFX-Balkendiagramm, dessen Syntax, Konstruktor, Methode und Beispiele erstellen. Weitere Informationen finden Sie auch in den folgenden Artikeln.

  1. JavaFX vs Swing
  2. JavaFX vs Swing
  3. JFrame in Java
  4. Was ist JDK?
  5. JavaFX Label
  6. Wie erstelle ich ein Kontrollkästchen in JavaFX mit Beispielen?
  7. Beispiele zum Implementieren von Checkbox in Bootstrap
  8. Komplette Anleitung zu JavaFX Color
  9. Methoden der JavaFX VBox mit Beispielcode
  10. Wie erstelle ich ein Menü in JavaFX mit Beispielen?