如何在 JavaFX 中创建带有两个参数的气泡图?
javafxobject oriented programmingprogramming更新于 2026/1/10 3:24:17
气泡图接受一系列数据点 (x, y) 作为输入值,并为给定系列中的数据点创建气泡。在 JavaFX 中,您可以通过实例化 javafx.scene.chart.BubbleChart 类来创建气泡图。
通常,在所有 X-Y 图中,数据点绘制两个值 (x, y)。在气泡图中,有一个第三个值,由气泡的半径表示。此图表在绘制 3 维数据点时非常方便。
无论如何,第三个值不是强制性的,它只是可选的。与任何其他 XY 图表一样,您可以创建带有两个值的气泡图。
示例
以下是一个 JavaFX 示例,演示了如何创建带有两个值的气泡图 −
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.BubbleChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.StackPane;
public class BubbleChart_TwoParams extends Application {
public void start(Stage stage) {
//创建 X 轴和 Y 轴
NumberAxis xAxis = new NumberAxis(5, 25, 5);
NumberAxis yAxis = new NumberAxis(50, 90, 5);
//为轴设置标签
xAxis.setLabel("温度 °C");
yAxis.setLabel("冰淇淋销售额(美元)");
//创建散点图
BubbleChart bubbleChart = new BubbleChart(xAxis, yAxis);
//为散点图准备数据
XYChart.Series series = new XYChart.Series();
series.getData().add(new XYChart.Data(15.2, 72.79));
series.getData().add(new XYChart.Data(8.39, 83.97));
series.getData().add(new XYChart.Data(20.6, 67.14));
series.getData().add(new XYChart.Data(15.8, 80.32));
series.getData().add(new XYChart.Data(10.4, 87.27));
//将数据设置为散点图
bubbleChart.getData().add(series);
//将标题设置为散点图
//scatterChart.setTitle("Ice Cream Sales vs Temperature");
//将名称设置为系列
series.setName("Temperatue vs Icecream Sales");
//创建一个堆栈窗格来保存图表
StackPane pane = new StackPane(bubbleChart);
pane.setPadding(new Insets(15, 15, 15, 15));
pane.setStyle("-fx-background-color: BEIGE");
//设置场景
Scene scene = new Scene(pane, 595, 300);
stage.setTitle("Bubble Chart");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
输出


