JavaFX Bar Chart - Как да създадете JavaFX лентова диаграма с програма?

Съдържание:

Anonim

Въведение в JavaFX Bar Chart

В JavaFX, диаграмите на лентата се използват за показване на данните под формата на правоъгълни ленти, където височината и дължината са базирани на съотношението на стойността. Лентова диаграма може да бъде създадена чрез инстанциране на класа JavaFX.scene.chart.BarChart. Нека разгледаме подробно синтаксиса, конструктора и методите на графиката на JavaFX.

Синтаксис :

BarChart ll = new BarChart(x, y);

Тук x и y са двете оси на диаграмата.

Конструктори на JavaFX Bar Chart

JavaFX лентовата диаграма има три конструктора.

BarChart (Axis X, Ax Y): Ще се създаде нов екземпляр от Bar Chart с посочената ос.

BarChart (Axis X, Axis Y, ObservableList D) : Ще бъде създаден нов екземпляр от Bar Chart с определената ос и данни.

BarChart (Axis X, Axis Y, ObservableList D, двойна категорияGap) : Ще бъде създаден нов екземпляр от Bar Chart със споменатата ос, данни и категория.

Методи на графиката на JavaFX

Има няколко метода за изпълнение на различни функционалности на лентова диаграма.

dataItemAdded (Series s, int индекс, XYChart.Data i) : Когато елемент от данни i се добави към серията s, се извиква този метод.

dataItemChanged (Данни i): Когато елемент от данни i се промени, се извиква този метод. Елементът може да бъде x стойност, y стойност или допълнителна стойност.

dataItemRemoved (Data i, XYChart.Series s): Когато елемент от данни i бъде премахнат и все още видим на диаграмата, се извиква този метод.

layoutPlotChildren (): За да се актуализират и подредят децата на сюжета, този метод ще бъде извикан.

seriesAdded (Series s, int sIndex): Серия s ще бъде добавена към диаграмата.

seriesRemoved (Series s): Когато серия s е премахната и все още видима на диаграмата, се извиква този метод.

updateLegend (): Този метод ще бъде извикан при премахване или добавяне на серия и легендата трябва да бъде актуализирана.

barGapProperty (): Пропастта, която трябва да е между барове от същата категория.

categoryGapProperty (): Пропастта, която трябва да бъде между барове на отделни категории.

getBarGap () : стойността на свойството barGap ще бъде върната.

getBarGap (): стойността на свойството barGap ще бъде върната.

getCategoryGap (): Стойността на свойството CategoryGap ще бъде върната.

setBarGap (double v): стойността на свойството barGap ще бъде зададена.

setCategoryGap (double v): Стойността на свойството CategoryGap ще бъде зададена.

Как да създадете JavaFX Bar Chart?

За да създадете базова диаграма на JavaFX, могат да бъдат изпълнени следните стъпки.

1. Създайте клас

Създайте клас, който се простира от класа на приложението. За това импортирайте класа JavaFX.application.Application.

public class JavaFXChartsExample extends Application (
)

2. Конфигурирайте X и Y оси

Има два типа ос - CategoryAxis и NumberAxis. Подробностите за осите трябва да бъдат споменати, както следва.

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

3. Създайте лента

Instantiate клас javafx.scene.chart.BarChart. Следният синтаксис се използва за BarChart.

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

4. Добавете данни към серията и диаграмата

Това е най-важната стъпка в този процес, когато се създава инстанция за XYChart.Series. След това стойностите, които трябва да бъдат показани в диаграмата, ще бъдат добавени чрез синтаксиса по-долу.

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

Добавете данни към серията, създадена по-горе, използвайки по-долу синтаксиса.

ll.getData().add(sr);

5. Конфигуриране на група и сцена

След това ще бъдат създадени група и сцена. Сцената е създадена чрез инстанциране на класа javafx. сцена, след като групата е създадена. Тогава само групата може да бъде предадена като един от аргументите на сцената.

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

Програма за внедряване на графиката на JavaFX

Сега, нека да видим различни JavaFX програми за прилагане на лентова диаграма, за да разберем по-добре същите.

Програма 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);
)
)

изход:

Създава се вертикална лентова диаграма с 3 категории Samsung, Xiaomi, Honor, разчитайте на y-ос и мобилни на x-os.

Програма 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);
)
)

изход:

В тази програма се създава хоризонтална лентова диаграма с 3 категории, процент на x-ос и емоция на y-оста.

заключение

Има няколко диаграми, използвани за представяне на данни. Диаграма е една такава диаграма, в която данните са представени в правоъгълни ленти.

Препоръчителни статии

Това е ръководство за JavaFX Bar Chart. Тук също обсъждаме как да създадете JavaFX Bar Chart, неговия синтаксис, конструктор, метод и примери. Можете също така да разгледате следните статии, за да научите повече -

  1. JavaFX срещу Swing
  2. JavaFX срещу Swing
  3. JFrame на Java
  4. Какво е JDK?
  5. Етикет на JavaFX
  6. Как да създадете отметка в JavaFX с примери?
  7. Примери за внедряване на квадратчето за отметка в Bootstrap
  8. Пълно ръководство за JavaFX Color
  9. Методи на JavaFX VBox с примерен код
  10. Как да създадете меню в JavaFX с примери?