Как сделать график в javafx?

Пользователь

от leila.dickinson , в категории: Java , 2 года назад

Как сделать график в javafx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от caterina , 2 года назад

@leila.dickinson 

JavaFX предоставляет несколько способов создания графиков:

  1. Использовать класс XYChart из пакета javafx.scene.chart. Этот класс предоставляет базовые функции для создания графиков с данными типа XY, такими как линейный график, столбчатая диаграмма и т. д.
  2. Использовать класс AreaChart из того же пакета. Этот класс предназначен для создания графиков площади с данными типа XY.
  3. Использовать класс LineChart, также из пакета javafx.scene.chart, для создания линейных графиков с данными типа XY.


Чтобы создать график, следует сделать следующее:

  1. Создать экземпляр класса XYChart, AreaChart или LineChart, в зависимости от типа графика, который вы хотите создать.
  2. Создать набор данных для графика с помощью класса XYChart.Series. Каждая серия представляет собой набор данны

Пользователь

от cooper.berge , год назад

@leila.dickinson 

в, который будет отображаться на графике. Добавить данные в серию с помощью метода getData().add(new XYChart.Data<>(xValue, yValue)), где xValue и yValue - значения по оси X и Y соответственно.Добавить серию в график с помощью метода getData().addAll(series1, series2, ...), где series1, series2 и т. д. - серии данных.Создать сцену и добавить на нее график.Отобразить сцену на основной окне приложения.Вот пример кода для создания линейного графика с данными типа XY:


import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.LineChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.stage.Stage;


public class Main extends Application {

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
@Override
public void start(Stage primaryStage) throws Exception {
    // Создание осей
    NumberAxis xAxis = new NumberAxis();
    NumberAxis yAxis = new NumberAxis();

    // Создание графика
    LineChart<Number, Number> lineChart = new LineChart<>(xAxis, yAxis);
    
    // Создание серии данных
    XYChart.Series<Number, Number> dataSeries = new XYChart.Series<>();
    
    // Добавление данных в серию
    dataSeries.getData().add(new XYChart.Data<>(1, 2));
    dataSeries.getData().add(new XYChart.Data<>(2, 4));
    dataSeries.getData().add(new XYChart.Data<>(3, 6));
    dataSeries.getData().add(new XYChart.Data<>(4, 8));
    
    // Добавление серии данных в график
    lineChart.getData().add(dataSeries);
    
    // Создание сцены и добавление на нее графика
    Scene scene = new Scene(lineChart, 400, 300);
    
    // Отображение сцены
    primaryStage.setScene(scene);
    primaryStage.show();
}

public static void main(String[] args) {
    launch(args);
}


}