如何在 JavaFX 中创建带有两个参数的气泡图?

javafxobject oriented programmingprogramming更新于 2025/4/13 18:52: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);
   }
}

输出


相关文章