Введение в гистограмму JavaFX

В JavaFX гистограммы используются для отображения данных в виде прямоугольных полос, где высота и длина основаны на пропорции значения. Гистограмма может быть создана путем создания экземпляра класса JavaFX.scene.chart.BarChart. Давайте рассмотрим синтаксис, конструктор и методы гистограммы JavaFX в деталях.

Синтаксис:

BarChart ll = new BarChart(x, y);

Здесь x и y - две оси диаграммы.

Конструкторы JavaFX Bar Chart

Гистограмма JavaFX имеет три конструктора.

BarChart (ось X, ось Y): будет создан новый экземпляр гистограммы с указанной осью.

BarChart (ось X, ось Y, ObservableList D) : будет создан новый экземпляр гистограммы с указанной осью и данными.

BarChart (Ось X, Ось Y, ObservableList D, двойной разряд категории) : будет создан новый экземпляр гистограммы с упомянутыми осью, данными и разрывом категорий.

Методы гистограммы JavaFX

Существует несколько методов для выполнения различных функций гистограммы.

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

dataItemChanged (Data 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?

Чтобы создать гистограмму JavaFX, можно выполнить следующие шаги.

1. Создать класс

Создайте класс, который выходит из класса приложения. Для этого импортируйте класс JavaFX.application.Application.

public class JavaFXChartsExample extends Application (
)

2. Настройте оси X и Y

Существует два типа осей: категория-ось и номер-ось. Детали осей должны быть упомянуты следующим образом.

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

3. Создайте гистограмму

Создайте экземпляр класса 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 Bar Chart

Теперь давайте рассмотрим различные программы 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.

Программа 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, ее синтаксис, конструктор, метод и примеры. Вы также можете взглянуть на следующие статьи, чтобы узнать больше:

  1. JavaFX против Swing
  2. JavaFX против Swing
  3. JFrame в Java
  4. Что такое JDK?
  5. JavaFX Label
  6. Как создать флажок в JavaFX с примерами?
  7. Примеры реализации флажка в Bootstrap
  8. Полное руководство по цвету JavaFX
  9. Методы JavaFX VBox с примером кода
  10. Как создать меню в JavaFX с примерами?