java水泡,JAVA-13 用javafx实现一个bubblechart泡泡图 2020-11-09

用javafx实现一个bubblechart泡泡图,具体代码与解释如下:

好看的运行结果为:

96d878637f99

image.png

1.简单的bubblechart:

package com.company;

import javafx.application.Application;

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 BubbleChartSample extends Application {

@Override public void start(Stage stage) {

stage.setTitle("Bubble Chart Sample");

final NumberAxis xAxis = new NumberAxis(1, 53, 4);

final NumberAxis yAxis = new NumberAxis(0, 80, 10);

final BubbleChart blc = new

BubbleChart(xAxis,yAxis);

xAxis.setLabel("Time Line");

yAxis.setLabel("Sample Size");

blc.setTitle("Sample Content And Relationship");

XYChart.Series series1 = new XYChart.Series();

series1.setName("Sample 1");

series1.getData().add(new XYChart.Data(3, 35));

series1.getData().add(new XYChart.Data(12, 60));

series1.getData().add(new XYChart.Data(15, 15));

series1.getData().add(new XYChart.Data(22, 30));

series1.getData().add(new XYChart.Data(28, 20));

series1.getData().add(new XYChart.Data(35, 41));

series1.getData().add(new XYChart.Data(42, 17));

series1.getData().add(new XYChart.Data(49, 30));

XYChart.Series series2 = new XYChart.Series();

series2.setName("Sample 2");

series2.getData().add(new XYChart.Data(8, 15));

series2.getData().add(new XYChart.Data(13, 23));

series2.getData().add(new XYChart.Data(15, 45));

series2.getData().add(new XYChart.Data(24, 30));

series2.getData().add(new XYChart.Data(38, 78));

series2.getData().add(new XYChart.Data(40, 41));

series2.getData().add(new XYChart.Data(45, 57));

series2.getData().add(new XYChart.Data(47, 23));

yAxis.setTickLabelFormatter(new NumberAxis.DefaultFormatter(yAxis,"¥",null));

Scene scene = new Scene(blc);

blc.getData().addAll(series1, series2);

stage.setScene(scene);

stage.show();

}

public static void main(String[] args) {

launch(args);

}

}

运行结果为:

96d878637f99

image.png

2.有交集的bubblechart:

如果需要绘制有覆盖部分的或者有交集的bubblechart那么就可以按照如下实现:

package com.company;

import javafx.application.Application;

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 BubbleChartSample extends Application {

@Override public void start(Stage stage) {

stage.setTitle("Bubble Chart Sample");

final NumberAxis xAxis = new NumberAxis(1, 53, 4);

final NumberAxis yAxis = new NumberAxis(0, 80, 10);

final BubbleChart blc = new

BubbleChart(xAxis,yAxis);

xAxis.setLabel("Time Line");

yAxis.setLabel("Sample Size");

blc.setTitle("Sample Content And Relationship");

XYChart.Series series1 = new XYChart.Series();

series1.setName("Sample 1");

series1.getData().add(new XYChart.Data(3, 35, 2));

series1.getData().add(new XYChart.Data(12, 60, 1.8));

series1.getData().add(new XYChart.Data(15, 15, 7));

series1.getData().add(new XYChart.Data(22, 30, 2.5));

series1.getData().add(new XYChart.Data(28, 20, 1));

series1.getData().add(new XYChart.Data(35, 41, 5.5));

series1.getData().add(new XYChart.Data(42, 17, 9));

series1.getData().add(new XYChart.Data(49, 30, 1.8));

XYChart.Series series2 = new XYChart.Series();

series2.setName("Sample 2");

series2.getData().add(new XYChart.Data(8, 15, 2));

series2.getData().add(new XYChart.Data(13, 23, 1));

series2.getData().add(new XYChart.Data(15, 45, 3));

series2.getData().add(new XYChart.Data(24, 30, 4.5));

series2.getData().add(new XYChart.Data(38, 78, 1));

series2.getData().add(new XYChart.Data(40, 41, 7.5));

series2.getData().add(new XYChart.Data(45, 57, 2));

series2.getData().add(new XYChart.Data(47, 23, 3.8));

Scene scene = new Scene(blc);

blc.getData().addAll(series1, series2);

stage.setScene(scene);

stage.show();

}

public static void main(String[] args) {

launch(args);

}

}

运行结果为:

96d878637f99

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值