In this example we will see how to create line chart with JavaFX. We are using LineChart. In the begging we will create two NumberAxis for X and Y coordinates. We will pass them to the constructor of LineChart. Then we will create XYChart.Series object representing series of data.
We will use ObservableList and we will get it from the XYChart.Series with the method getData(). Then we will add the data to the list.After that we will set the series to the LineChart and add the chart to the StackPane.
For the last part we will add the StackPane to the Scene.
package com.example.chartdemo; import javafx.application.Application; import javafx.collections.ObservableList; import javafx.scene.Scene; import javafx.scene.chart.LineChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class ChartExample extends Application { @Override public void start(Stage stage) { // create x and y axis final NumberAxis xAxis = new NumberAxis(); final NumberAxis yAxis = new NumberAxis(); // set labels for the axes xAxis.setLabel("Time (s)"); yAxis.setLabel("Value"); // create line chart final LineChart<Number, Number> lineChart = new LineChart<>(xAxis, yAxis); // set chart title lineChart.setTitle("Sample Chart"); // create a series for the chart XYChart.Series<Number, Number> series = new XYChart.Series<>(); // add data to the series series.setName("Name of series"); ObservableList<XYChart.Data<Number, Number>> seriesList = series.getData(); seriesList.add(new XYChart.Data<>(0, 2)); seriesList.add(new XYChart.Data<>(1, 6)); seriesList.add(new XYChart.Data<>(2, 3)); seriesList.add(new XYChart.Data<>(3, 7)); seriesList.add(new XYChart.Data<>(4, 5)); // add the series to the chart lineChart.getData().add(series); // create a StackPane and add the chart to it StackPane root = new StackPane(); root.getChildren().add(lineChart); // create a new Scene with the StackPane as the root node Scene scene = new Scene(root, 600, 400); // set the scene on the stage and show it stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(); } }
Result: