折線圖
LineChart
類將資料表示為一系列與直線相連的資料點。每個資料點都包含在 XYChart.Data
物件中,資料點分組在 XYChart.Series
中。
每個 XYChart.Data
物件都有兩個欄位,可以使用 getXValue
和 getYValue
訪問,這些欄位對應於圖表上的 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);
}