折線圖

LineChart 類將資料表示為一系列與直線相連的資料點。每個資料點都包含在 XYChart.Data 物件中,資料點分組在 XYChart.Series 中。

每個 XYChart.Data 物件都有兩個欄位,可以使用 getXValuegetYValue 訪問,這些欄位對應於圖表上的 x 和 ay 值。

XYChart.Data data = new XYChart.Data(1,3);
System.out.println(data.getXValue()); // Will print 1
System.out.println(data.getYValue()); // Will print 3

在我們建立 LineChart 之前,我們需要定義它的軸。例如,NumberAxis 類的預設無引數建構函式將建立一個可以使用的自動量程軸,無需進一步配置。

Axis xAxis = new NumberAxis();

在下面的完整示例中,我們建立了兩個系列的資料,這些資料將顯示在同一個圖表中。軸的標籤,範圍和刻度值是明確定義的。

@Override
public void start(Stage primaryStage) {
    Pane root = new Pane();

    // Create empty series
    ObservableList<XYChart.Series> seriesList = FXCollections.observableArrayList();

    // Create data set for the first employee and add it to the series
    ObservableList<XYChart.Data> aList = FXCollections.observableArrayList(
            new XYChart.Data(0, 0),
            new XYChart.Data(2, 6),
            new XYChart.Data(4, 37),
            new XYChart.Data(6, 82),
            new XYChart.Data(8, 115)
    );
    seriesList.add(new XYChart.Series("Employee A", aList));

    // Create data set for the second employee and add it to the series
    ObservableList<XYChart.Data> bList = FXCollections.observableArrayList(
            new XYChart.Data(0, 0),
            new XYChart.Data(2, 43),
            new XYChart.Data(4, 51),
            new XYChart.Data(6, 64),
            new XYChart.Data(8, 92)
    );
    seriesList.add(new XYChart.Series("Employee B", bList));

    // Create axes
    Axis xAxis = new NumberAxis("Hours worked", 0, 8, 1);
    Axis yAxis = new NumberAxis("Lines written", 0, 150, 10);
    
    LineChart chart = new LineChart(xAxis, yAxis, seriesList);

    root.getChildren().add(chart);

    Scene scene = new Scene(root);
    primaryStage.setScene(scene);
    primaryStage.show();
}

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

輸出:

StackOverflow 文件