JavaFX BubbleChart气泡图

气泡图可以定义为用于显示三维数据的图表。每个实体由包含三个三元组(v1、v2、v3)的气泡标识。三元组中的两个由气泡的 (X,Y) 坐标显示,而第三个由气泡的半径标识。

在下面的气泡图中,气泡图绘制在 X 轴和 Y 轴的映射点处。图表中有两个系列,分别命名为系列 1 和系列 2。

在 JavaFX 中,类javafx.scene.chart.BubbleChart表示气泡图。我们需要实例化这个类以创建气泡图。

1 BubbleChart 类的属性

属性 描述 setter方法
brightness 调整颜色的亮度。它是一个双重类型的属性。 setBrightness(double value)
contrast 根据颜色的对比度进行调整。它是双重类型的属性。 setContrast(double value)
hue 在颜色的色调进行的调整。它是双重类型的属性 setHue(double value)
input 效果的输入值。它是双重类型的属性 setInput(double value)
saturation 调整颜色的饱和度。它是双重类型的属性 setSaturation(double value)

2 BubbleChart 类的构造函数

该类包含下面给出的两个构造函数。

  1. public BubbleChart(Axis Xaxis, Axis Yaxis) 使用指定的轴创建气泡图的新实例。
  2. public BubbleChart(Axis Xaxis, Axis Yaxis, ObservableList> data) 使用指定的轴和数据创建气泡图的新实例。

3 BubbleChart 类的例子

在下面的例子中,我们显示了不同年龄的人在网上花费的时间(以小时为单位)。人有两类(系列),男性和女性。

package com.yiidian;

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 {
        NumberAxis 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);  
    }  
} 

输出结果为:

热门文章

优秀文章