JavaFX图表(五)之气泡图
翻譯自? ?JavaFX - 氣泡圖
氣泡圖用于種植三維數據;?第三個維度將由氣泡的大小(半徑)表示。
以下是描繪完成工作的氣泡圖。
在JavaFX中,氣泡圖由名為BubbleChart的類表示。該類屬于包javafx.scene.chart。通過實例化此類,您可以在JavaFX中創建BubbleChart節點。
生成氣泡圖的步驟
要在JavaFX中生成氣泡圖,請按照以下步驟操作。
第1步:創建一個類
創建一個Java類并繼承包javafx.application的Application類。您可以按如下方式實現此類的start()方法。
public class ClassName extends Application { @Override public void start(Stage primaryStage) throws Exception { } }第2步:定義軸
定義氣泡圖的X和Y軸并為其設置標簽。在我們的例子中,X軸代表年齡,Y軸代表重量。同時,氣泡的半徑代表完成的工作。
//Defining the X axis NumberAxis xAxis = new NumberAxis(0, 100, 10); xAxis.setLabel("Age"); //Defining Y axis NumberAxis yAxis = new NumberAxis(20, 100, 10); yAxis.setLabel("Weight");第3步:創建氣泡圖
通過實例化包javafx.scene.chart的名為BubbleChart的類來創建折線圖。對于此類的構造函數,傳遞表示在上一步中創建的X軸和Y軸的對象。
//Creating the Bubble chart BubbleChart bubbleChart = new BubbleChart(xAxis, yAxis);第4步:準備數據
實例化XYChart.Series類并將數據(一系列,x和y坐標)添加到此類的Observable列表中,如下所示 -
//Prepare XYChart.Series objects by setting data XYChart.Series series = new XYChart.Series(); series.setName("work"); series.getData().add(new XYChart.Data(10,30,4)); series.getData().add(new XYChart.Data(25,40,5)); series.getData().add(new XYChart.Data(40,50,9)); series.getData().add(new XYChart.Data(55,60,7)); series.getData().add(new XYChart.Data(70,70,9)); series.getData().add(new XYChart.Data(85,80,6));第5步:將數據添加到氣泡圖
將上一步驟中準備的數據系列添加到面積圖中,如下所示 -
//Setting the data to bar chart bubbleChart.getData().add(series);第6步:創建組對象
在start()方法中,通過實例化名為Group的類來創建組對象。這屬于包javafx.scene。
將在上一步中創建的BubbleChart(節點)對象作為參數傳遞給Group類的構造函數。這應該是為了將它添加到組中,如下所示 -
Group root = new Group(bubbleChart);第7步:創建場景對象
通過實例化名為Scene的類來創建一個Scene,該類屬于包javafx.scene。在此類中,傳遞在上一步中創建的Group對象(root)。
除了根對象之外,還可以傳遞兩個表示屏幕高度和寬度的雙參數,以及Group類的對象,如下所示。
Scene scene = new Scene(group ,600, 300);第8步:設置舞臺的標題
您可以使用Stage類的setTitle()方法將標題設置為舞臺。所述primaryStage是Stage對象,它被傳遞給場景類作為參數的啟動方法。
使用primaryStage對象,將場景標題設置為Sample Application,如下所示。
primaryStage.setTitle("Sample Application");第9步:將場景添加到舞臺
您可以使用名為Stage的類的方法setScene()將Scene對象添加到舞臺。使用以下方法添加在前面步驟中準備的Scene對象。
primaryStage.setScene(scene);第10步:顯示舞臺的內容
顯示場景的使用命名的方法的內容顯示()的的階段類,如下所示。
primaryStage.show();第11步:啟動應用程序
通過從main方法調用Application類的靜態方法launch()來啟動JavaFX應用程序,如下所示。
public static void main(String args[]){ launch(args); }例
讓我們考慮不同的人以及他們的年齡,體重和工作能力。工作能力可以視為圖表中繪制為氣泡的小時數。
| ? | 三十 | 40 | 50 | 60 | 70 | 80 | ? |
| 10 | 4 | ? | ? | ? | ? | ? | 工作|
| 25 | ? | 五 | ? | ? | ? | ? | |
| 40 | ? | ? | 6 | ? | ? | ? | |
| 55 | ? | ? | ? | 8 | ? | ? | |
| 70 | ? | ? | ? | ? | 9 | ? | |
| 85 | ? | ? | ? | ? | ? | 15 |
以下是一個Java程序,它生成一個氣泡圖,使用JavaFX描述上述數據。
將此代碼保存在名為BubbleChartExample.java的文件中。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.chart.BubbleChart; import javafx.stage.Stage; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; public class BubbleChartExample extends Application { @Override public void start(Stage stage) { //Defining the axes NumberAxis xAxis = new NumberAxis(0, 100, 10); xAxis.setLabel("Age"); NumberAxis yAxis = new NumberAxis(20, 100, 10); yAxis.setLabel("Weight"); //Creating the Bubble chart BubbleChart bubbleChart = new BubbleChart(xAxis, yAxis); //Prepare XYChart.Series objects by setting data XYChart.Series series = new XYChart.Series(); series.setName("work"); series.getData().add(new XYChart.Data(10,30,4)); series.getData().add(new XYChart.Data(25,40,5)); series.getData().add(new XYChart.Data(40,50,9)); series.getData().add(new XYChart.Data(55,60,7)); series.getData().add(new XYChart.Data(70,70,9)); series.getData().add(new XYChart.Data(85,80,6));//Setting the data to bar chart bubbleChart.getData().add(series); //Creating a Group object Group root = new Group(bubbleChart); //Creating a scene object Scene scene = new Scene(root, 600, 400); //Setting title to the Stage stage.setTitle("Bubble Chart"); //Adding scene to the stage stage.setScene(scene); //Displaying the contents of the stage stage.show(); } public static void main(String args[]){ launch(args); } }使用以下命令從命令提示符編譯并執行保存的java文件。
javac BubbleChartExample.java java BubbleChartExample執行時,上述程序生成一個顯示氣泡圖的JavaFX窗口,如下所示。
?
總結
以上是生活随笔為你收集整理的JavaFX图表(五)之气泡图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星计划 2026 年量产 8nm 车用
- 下一篇: 9999元起!OPPO Find N3开