В общем случае диаграмма представляет собой графическое представление данных. Существуют различные виды диаграмм для представления данных, такие как гистограмма, круговая диаграмма, линейная диаграмма, точечная диаграмма и т. Д.
JavaFX Обеспечивает поддержку различных круговых и XY-диаграмм . Диаграммы, представленные на плоскости XY, включают AreaChart, BarChart, BubbleChart, LineChart, ScatterChart, StackedAreaChart, StackedBarChart и т. Д.
Каждая диаграмма представлена классом, и все эти диаграммы принадлежат пакету javafx.scene.chart . Класс с именем Chart является базовым классом всех диаграмм в JavaFX, а XYChart является базовым классом всех тех диаграмм, которые нарисованы на плоскости XY.
Создание диаграммы
Чтобы создать диаграмму, вам нужно —
- Определить ось графика
- Создать соответствующий класс
- Подготовить и передать данные на график
Создание соответствующего класса
Чтобы создать диаграмму, создайте экземпляр соответствующего класса. Например, если вы хотите создать линейную диаграмму, вам нужно создать экземпляр класса с именем Line следующим образом:
LineChart linechart = new LineChart(xAxis, yAxis);
Как видно из приведенного выше кода, при создании экземпляра вам необходимо передать два объекта, представляющих оси X и Y диаграммы соответственно.
Определение оси
В общем, ось графиков может быть представлена:
- Числа, такие как население, возраст и
- Категории, такие как дни недели, страны.
В JavaFX ось — это абстрактный класс, представляющий ось X или Y. Он имеет два подкласса для определения каждого типа оси, а именно CategoryAxis и NumberAxis, как показано на следующей диаграмме —
Ось категорий — создавая экземпляр этого класса, вы можете определить (создать) ось X или Y, вдоль которой каждое значение представляет категорию. Вы можете определить ось Категории, создав экземпляр этого класса, как показано ниже —
CategoryAxis xAxis = new CategoryAxis();
Для этой оси необходимо установить список категорий и метку для оси, как показано ниже —
//setting the list of categories. xAxis.setCategories(FXCollections.<String>observableArrayList (Arrays.asList("n ame1", "name2"….))); //Setting label to the axis xAxis.setLabel("name of the axis ");
NumberAxis — создавая экземпляр этого класса, вы можете определить (создать) ось X или Y, вдоль которой каждое значение представляет числовое значение. Вы можете использовать любой тип Number с этой осью, Long, Double, BigDecimal и т. Д. Вы можете определить ось Number, создав экземпляр этого класса следующим образом:
//Defining the axis NumberAxis yAxis = new NumberAxis(); //Setting labelto the axis yAxis.setLabel("name of the axis");
Передача данных в таблицы XY
Все графики XY представлены вдоль плоскости XY. Чтобы построить набор точек на графике, нам нужно указать серию координат XY.
Класс <X, Y> пакета javafx.scene.chart — это класс, с помощью которого вы можете отправлять данные в диаграмму. Этот класс содержит наблюдаемый список именованных серий. Вы можете получить этот список, используя метод getData () класса XYChart.Series, как показано ниже —
ObservableList list = series.getData();
Где серия — это объект класса XYChart.Series . Вы можете добавить данные в этот список, используя метод add () следующим образом:
list.add(new XYChart.Data(x-axis data, y-axis data));
Эти две строки могут быть записаны вместе, как показано ниже —
series.getData().add(new XYChart.Data(x-axis data, y-axis data));
Следующая таблица дает описание различных диаграмм (классов), предоставляемых JavaFX —
Круговая диаграмма — это представление значений в виде кусочков круга разных цветов. Эти срезы помечены, и значения, соответствующие каждому срезу, представлены на диаграмме.
В JavaFX круговая диаграмма представлена классом с именем PieChart . Этот класс принадлежит пакету javafx.scene.chart .
Линейный график или линейный график отображают информацию в виде серии точек данных (маркеров), соединенных отрезками прямых линий. Линейная диаграмма показывает, как данные изменяются с одинаковой частотой.
В JavaFX линейная диаграмма представлена классом с именем LineChart . Этот класс принадлежит пакету javafx.scene.chart . Создавая экземпляр этого класса, вы можете создать узел LineChart в JavaFX.
Диаграммы площадей используются для построения диаграмм площадок. Он строит область между данной серией точек и осью. В общем, этот график используется для сравнения двух величин.
В JavaFX диаграмма области представлена классом с именем AreaChart . Этот класс принадлежит пакету javafx.scene.chart . Создавая экземпляр этого класса, вы можете создать узел AreaChart в JavaFX.
Гистограмма используется для представления сгруппированных данных с использованием прямоугольных столбцов. Длина этих столбцов отображает значения. Бары в гистограмме могут быть построены вертикально или горизонтально.
В JavaFX столбчатая диаграмма представлена классом с именем BarChart . Этот класс принадлежит пакету javafx.scene.chart . Создавая экземпляр этого класса, вы можете создать узел BarChart в JavaFX.
Пузырьковая диаграмма используется для отображения трехмерных данных. Третье измерение будет представлено размером (радиусом) пузыря.
В JavaFX пузырьковая диаграмма представлена классом с именем BubbleChart . Этот класс принадлежит пакету javafx.scene.chart . Создавая экземпляр этого класса, вы можете создать узел BubbleChart в JavaFX.
Диаграмма рассеяния — это тип графика, который использует значения двух переменных, построенных на декартовой плоскости. Обычно используется для выяснения связи между двумя переменными.
В JavaFX точечная диаграмма представлена классом с именем ScatterChart . Этот класс принадлежит пакету javafx.scene.chart . Создавая экземпляр этого класса, вы можете создать узел ScatterChart в JavaFX.
В JavaFX диаграмма Stacked Area представлена классом с именем StackedAreaChart .
Этот класс принадлежит пакету javafx.scene.chart . Создавая экземпляр этого класса, вы можете создать узел StackedAreaChart в JavaFX.
В JavaFX столбчатая диаграмма с накоплением представлена классом с именем StackedBarChart .
Этот класс принадлежит пакету javafx.scene.chart . Создавая экземпляр этого класса, вы можете создать узел StackedBarChart в JavaFX.