📜  JavaFX bubble-chart

📅  最后修改于: 2020-10-14 07:22:35             🧑  作者: Mango

JavaFX气泡图

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

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

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

建设者

该类中有两个构造函数。

  • 公共BubbleChart(轴X轴,轴Yaxis):使用指定的轴创建气泡图的新实例。
  • 公共BubbleChart(轴X轴,轴Yaxis,ObservableList >数据): 使用指定的轴和数据创建气泡图的新实例。

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

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 stub
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);
}
}