气泡图可以定义为用于显示三维数据的图。每个实体由包含三个三元组(v1, v2, v3)的气泡标识。三元组中的两个由气泡的(X, Y)坐标表示, 而第三个三元组由气泡的半径标识。
在以下气泡图中, 气泡图绘制在X轴和Y轴的映射点上。图表中有两个系列, 分别称为系列1和系列2。
文章图片
在JavaFX中, 类javafx.scene.chart.BubbleChart表示冒泡图。我们需要实例化此类以创建气泡图。
建设者 该类中有两个构造函数。
- public BubbleChart(Axis Xaxis, Axis Yaxis):使用指定的轴创建气泡图的新实例。
- public BubbleChart(Axis Xaxis, Axis Yaxis, ObservableList> data):使用指定的轴和数据创建气泡图的新实例。
【JavaFX气泡图】在下面的示例中, 我们显示了不同老年人在网上花费的时间(以小时为单位)。有两类人(系列), 男性和女性。
package application;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.chart.BubbleChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;
public class BubbleChartExample extends Application{ @Override public void start(Stage primaryStage) throws Exception {// TODO Auto-generated method stubNumberAxis xaxis = new NumberAxis(0, 70, 5);
NumberAxis yaxis = new NumberAxis(0, 24, 4);
xaxis.setLabel("Age");
yaxis.setLabel("Hours spent");
BubbleChart bubble = new BubbleChart(xaxis, yaxis);
bubble.setTitle("Hours spent online by different age groups");
XYChart.Series male = new XYChart.Series<
>
();
male.setName("Male");
male.getData().add(new XYChart.Data(10, 2));
male.getData().add(new XYChart.Data(15, 7));
male.getData().add(new XYChart.Data(25, 4));
male.getData().add(new XYChart.Data(35, 6));
male.getData().add(new XYChart.Data(45, 10));
male.getData().add(new XYChart.Data(55, 13));
male.getData().add(new XYChart.Data(65, 15));
XYChart.Series female = new XYChart.Series<
>
();
female.setName("Female");
female.getData().add(new XYChart.Data(10, 1));
female.getData().add(new XYChart.Data(15, 2));
female.getData().add(new XYChart.Data(25, 9));
female.getData().add(new XYChart.Data(35, 12));
female.getData().add(new XYChart.Data(45, 15));
female.getData().add(new XYChart.Data(55, 4));
female.getData().add(new XYChart.Data(65, 2));
bubble.getData().add(male);
bubble.getData().add(female);
Group root = new Group();
root.getChildren().add(bubble);
Scene scene = new Scene(root, 600, 400);
primaryStage.setScene(scene);
primaryStage.setTitle("BubbleChart Example");
primaryStage.show();
} public static void main(String[] args) {launch(args);
}}
文章图片
推荐阅读
- JavaFX图表
- JavaFX盒子
- JavaFX BoxBlur效果
- JavaFX BorderPane
- JavaFX Bloom效果
- JavaFX条形图
- JavaFX混合效果
- JavaFX AreaChart
- java|历时半年,拿了五个大厂offer,阿里、携程、京东、腾讯、美团、字节跳动面经汇总