JavaFX图表(七)之散点图
翻譯自??JavaFX - 散點(diǎn)圖
散點(diǎn)圖是一種圖形,它使用在笛卡爾平面中繪制的兩個(gè)變量的值。它通常用于找出兩個(gè)變量之間的關(guān)系。
以下是在面積和重量之間繪制的散點(diǎn)圖。
?
在JavaFX中,Scatter圖表由名為ScatterChart的類表示。該類屬于包javafx.scene.chart。通過(guò)實(shí)例化此類,您可以在JavaFX中創(chuàng)建ScatterChart節(jié)點(diǎn)。
生成散點(diǎn)圖的步驟
要在JavaFX中生成面積圖,請(qǐng)按照以下步驟操作。
第1步:創(chuàng)建一個(gè)類
創(chuàng)建一個(gè)Java類并繼承包javafx.application的Application類。然后,您可以按如下方式實(shí)現(xiàn)此類的start()方法。
public class ClassName extends Application { @Override public void start(Stage primaryStage) throws Exception { } }第2步:定義軸
定義面積圖的X和Y軸并為其設(shè)置標(biāo)簽。在我們的示例中,X軸表示面積,Y軸表示權(quán)重。
//Defining the x axis NumberAxis xAxis = new NumberAxis(0, 12, 3); xAxis.setLabel("Area"); //Defining the y axis NumberAxis yAxis = new NumberAxis(0, 16, 4); yAxis.setLabel("Weight");第3步:創(chuàng)建散點(diǎn)圖
通過(guò)實(shí)例化包javafx.scene.chart的名為ScatterChart的類來(lái)創(chuàng)建折線圖。對(duì)于此類的構(gòu)造函數(shù),傳遞表示在上一步中創(chuàng)建的X軸和Y軸的對(duì)象。
//Creating the Scatter chart ScatterChart<String, Number> scatterChart = new ScatterChart(xAxis, yAxis);第4步:準(zhǔn)備數(shù)據(jù)
實(shí)例化XYChart.Series類并將數(shù)據(jù)(一系列,x和y坐標(biāo))添加到此類的Observable列表中,如下所示 -
//Prepare XYChart.Series objects by setting data XYChart.Series series = new XYChart.Series(); series.getData().add(new XYChart.Data(8, 12)); series.getData().add(new XYChart.Data(4, 5.5)); series.getData().add(new XYChart.Data(11, 14)); series.getData().add(new XYChart.Data(4, 5)); series.getData().add(new XYChart.Data(3, 3.5)); series.getData().add(new XYChart.Data(6.5, 7));第5步:將數(shù)據(jù)添加到散點(diǎn)圖
將上一步驟中準(zhǔn)備的數(shù)據(jù)系列添加到散點(diǎn)圖中,如下所示 -
//Setting the data to scatter chart scatterChart.getData().addAll(series);第6步:創(chuàng)建組對(duì)象
在start()方法中,通過(guò)實(shí)例化名為Group的類來(lái)創(chuàng)建組對(duì)象。這屬于包javafx.scene。
將上一步中創(chuàng)建的ScatterChart(節(jié)點(diǎn))對(duì)象作為參數(shù)傳遞給Group類的構(gòu)造函數(shù)。這應(yīng)該是為了將它添加到組中,如下所示 -
Group root = new Group(scatterChart);第7步:創(chuàng)建場(chǎng)景對(duì)象
通過(guò)實(shí)例化名為Scene的類來(lái)創(chuàng)建一個(gè)Scene,該類屬于包javafx.scene。在此類中,傳遞上一步中創(chuàng)建的Group對(duì)象(root)。
除了根對(duì)象之外,您還可以傳遞兩個(gè)表示屏幕高度和寬度的雙參數(shù),以及Group類的對(duì)象,如下所示。
Scene scene = new Scene(group ,600, 300);第8步:設(shè)置舞臺(tái)的標(biāo)題
您可以使用Stage類的setTitle()方法將標(biāo)題設(shè)置為舞臺(tái)。所述primaryStage是Stage對(duì)象,它被傳遞給場(chǎng)景類作為參數(shù)的啟動(dòng)方法。
使用primaryStage對(duì)象,將場(chǎng)景標(biāo)題設(shè)置為Sample Application,如下所示。
primaryStage.setTitle("Sample Application");第9步:將場(chǎng)景添加到舞臺(tái)
您可以使用名為Stage的類的方法setScene()將Scene對(duì)象添加到舞臺(tái)。使用此方法添加前面步驟中準(zhǔn)備的Scene對(duì)象,如下所示。
primaryStage.setScene(scene);第10步:顯示舞臺(tái)的內(nèi)容
顯示場(chǎng)景的使用命名的方法的內(nèi)容顯示()的的階段類,如下所示。
primaryStage.show();第11步:啟動(dòng)應(yīng)用程序
通過(guò)從main方法調(diào)用Application類的靜態(tài)方法launch()來(lái)啟動(dòng)JavaFX應(yīng)用程序,如下所示。
public static void main(String args[]){ launch(args); }例
下表包含在面積和重量之間繪制的樣本數(shù)據(jù)。
| 8 | 12 |
| 4 | 5.5 |
| 11 | 14 |
| 4 | 五 |
| 3 | 3.5 |
| 6.5 | 7 |
以下是一個(gè)Java程序,它使用JavaFX生成描述上述數(shù)據(jù)的散點(diǎn)圖。
將此代碼保存在名為ScatterChartExample.java的文件中。
import javafx.application.Application; import static javafx.application.Application.launch; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.ScatterChart; import javafx.scene.chart.XYChart; public class ScatterChartExample extends Application { @Override public void start(Stage stage) { //Defining the axes NumberAxis xAxis = new NumberAxis(0, 12, 3); xAxis.setLabel("Area"); NumberAxis yAxis = new NumberAxis(0, 16, 4); yAxis.setLabel("Weight"); //Creating the Scatter chart ScatterChart<String, Number> scatterChart = new ScatterChart(xAxis, yAxis); //Prepare XYChart.Series objects by setting data XYChart.Series series = new XYChart.Series(); series.getData().add(new XYChart.Data(8, 12)); series.getData().add(new XYChart.Data(4, 5.5)); series.getData().add(new XYChart.Data(11, 14)); series.getData().add(new XYChart.Data(4, 5)); series.getData().add(new XYChart.Data(3, 3.5)); series.getData().add(new XYChart.Data(6.5, 7)); //Setting the data to scatter chart scatterChart.getData().addAll(series); //Creating a Group object Group root = new Group(scatterChart); //Creating a scene object Scene scene = new Scene(root, 600, 400); //Setting title to the Stage stage.setTitle("Scatter 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); } }使用以下命令從命令提示符編譯并執(zhí)行保存的java文件。
javac ScatterChartExample.java java ScatterChartExample執(zhí)行時(shí),上述程序生成一個(gè)顯示散點(diǎn)圖的JavaFX窗口,如下所示。
?
總結(jié)
以上是生活随笔為你收集整理的JavaFX图表(七)之散点图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JavaFX图表(六)之条形图
- 下一篇: 米哈游要盖新研发总部:耗资 10 亿元上