如何在 JavaFX 中將多條折線圖新增到一個場景/舞臺中?
您可以透過例項化 javafx.scene.chart.LineChart 類來建立折線圖。以下是如何在一個 JavaFX 視窗中建立多條折線圖的示例。在此,我們繪製一年中三個不同城市的平均氣溫。
在此示例中,我們定義了一個接受資料作為雙陣列的方法,建立並返回一個折線圖。在 start() 方法中,我們用三個不同的資料集呼叫此方法,並使用 FlowPane 顯示生成的圖表。
示例
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.FlowPane;
public class MultipleLineCharts extends Application {
public void start(Stage stage) {
Double data1[] = {7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,26.5, 23.3, 18.3, 13.9, 9.6};
Double data2[] = {-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5};
Double data3[] = {3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8};
//Creating a stack pane to hold the chart
FlowPane pane = new FlowPane(createChart(data1), createChart(data2),
createChart(data3));
//Setting the Scene
Scene scene = new Scene(pane, 595, 350);
stage.setTitle("Line Chart");
stage.setScene(scene);
stage.show();
}
public LineChart<Number, Number> createChart(Double[] values) {
//Creating the X and Y axes
NumberAxis xAxis = new NumberAxis();
NumberAxis yAxis = new NumberAxis();
xAxis.setLabel("Months");
yAxis.setLabel("Temperature °C");
//Creating the chart
LineChart<Number, Number> chart = new LineChart<>(xAxis, yAxis);
XYChart.Series<Number, Number> series = new LineChart.Series<>();
series.setName("Average Temperatures");
//Setting data
for (int i = 0; i < values.length; i++) {
XYChart.Data<Number, Number> data = new LineChart.Data<>(i, values[i]);
series.getData().add(data);
}
chart.getData().add(series);
chart.setPrefSize(280, 180);
return chart;
}
public static void main(String args[]){
launch(args);
}
}輸出

廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP