Sloupcový graf JavaFX Jak vytvořit pruhový graf JavaFX s programem?

Obsah:

Anonim

Úvod do sloupcového grafu JavaFX

V JavaFXu se sloupcové grafy používají k zobrazení dat ve formě obdélníkových sloupců, kde výška a délka jsou založeny na poměru hodnoty. Sloupcový graf lze vytvořit instancí třídy JavaFX.scene.chart.BarChart. Podívejme se podrobně na syntax, konstruktor a metody sloupcového grafu JavaFX.

Syntaxe:

BarChart ll = new BarChart(x, y);

Zde x a y jsou dvě osy grafu.

Konstruktory sloupcového grafu JavaFX

Sloupcový graf JavaFX má tři konstruktéry.

BarChart (osa X, osa Y): Bude vytvořena nová instance sloupcového grafu se zadanou osou.

BarChart (osa X, osa Y, pozorovatelný seznam D) : Bude vytvořena nová instance sloupcového grafu se zadanou osou a daty.

BarChart (Axis X, Axis Y, ObservableList D, double categoryGap) : Bude vytvořena nová instance sloupcového grafu s uvedenou mezerou v ose, datech a kategoriích.

Metody sloupcového grafu JavaFX

Existuje několik metod k provádění různých funkcí sloupcového grafu.

dataItem přidáno (Série, int index, XYChart.Data i) : Když je do sérií přidána datová položka i, je tato metoda volána.

dataItemChanged (Data i): Při změně datové položky i se tato metoda nazývá. Položka může být hodnota x, hodnota y nebo zvláštní hodnota.

dataItemRemoved (Data i, XYChart.Series s): Když je datová položka i odebrána a stále viditelná v grafu, je tato metoda volána.

layoutPlotChildren (): Aby bylo možné aktualizovat a rozvrhnout děti spiknutí, bude tato metoda volána.

series přidaný (Series s, int sIndex): Do grafu budou přidány řady.

seriesRemoved (Series): Když je série odstraněna a stále viditelná v grafu, je tato metoda volána.

updateLegend (): Tato metoda bude volána, když bude série odebrána nebo přidána a legenda musí být aktualizována.

barGapProperty (): Mezera, která musí být mezi pruhy stejné kategorie.

categoryGapProperty (): Mezera, která musí být mezi pruhy samostatných kategorií.

getBarGap () : Hodnota vlastnosti barGap bude vrácena.

getBarGap (): Hodnota vlastnosti barGap bude vrácena.

getCategoryGap (): Hodnota vlastnosti CategoryGap bude vrácena.

setBarGap (double v): Bude nastavena hodnota vlastnosti barGap.

setCategoryGap (double v): Bude nastavena hodnota vlastnosti CategoryGap.

Jak vytvořit sloupcový graf JavaFX?

Za účelem vytvoření sloupcového grafu JavaFX lze provést následující kroky.

1. Vytvořte třídu

Vytvořte třídu, která sahá od třídy aplikace. Za tímto účelem importujte třídu JavaFX.application.Application.

public class JavaFXChartsExample extends Application (
)

2. Nakonfigurujte osy X a Y

Existují dva typy os - CategoryAxis a NumberAxis. Podrobnosti o osách je třeba uvést následovně.

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

3. Vytvořte sloupcový graf

Okamžitá třída javafx.scene.chart.BarChart. Pro BarChart se používá následující syntaxe.

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

4. Přidejte data do řady a grafu

Toto je nejdůležitější krok v tomto procesu, kdy je vytvořena instance pro XYChart.Series. Poté budou hodnoty, které je třeba zobrazit v grafu, přidány pomocí níže uvedené syntaxe.

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

Pomocí níže uvedené syntaxe přidejte data do výše vytvořené řady.

ll.getData().add(sr);

5. ConfigureGroup and Scene

Poté bude vytvořena skupina a scéna. Scéna je vytvořena instancí třídy javafx. jakmile je skupina vytvořena. Pak lze skupinu předat jako jeden z argumentů ve scéně.

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();

Program implementace pruhového grafu JavaFX

Nyní se podívejme na různé programy JavaFX, které implementují sloupcový graf, abychom lépe porozuměli tomu stejnému.

Program 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);
)
)

Výstup:

Je vytvořen svislý sloupcový graf se 3 kategoriemi Samsung, Xiaomi, Honor, počítat na ose y a mobilní na ose x.

Program 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);
)
)

Výstup:

V tomto programu je vytvořen vodorovný sloupcový graf se 3 kategoriemi, procento na ose x a emoce na ose y.

Závěr

Existuje několik grafů používaných k reprezentaci dat. Sloupcový graf je jeden takový graf, ve kterém jsou data reprezentována v obdélníkových sloupcích.

Doporučené články

Toto byl průvodce pruhovým grafem JavaFX. Dále diskutujeme o tom, jak vytvořit pruhový graf JavaFX, jeho syntaxi, konstruktor, metodu a příklady. Další informace naleznete také v následujících článcích -

  1. JavaFX vs Swing
  2. JavaFX vs Swing
  3. JFrame v Javě
  4. Co je JDK?
  5. Štítek JavaFX
  6. Jak vytvořit zaškrtávací políčko v JavaFX s příklady?
  7. Příklady implementace zaškrtávacího políčka v Bootstrapu
  8. Kompletní průvodce JavaFX Color
  9. Metody JavaFX VBox s ukázkovým kódem
  10. Jak vytvořit menu v JavaFX s příklady?