javafx堆积面积图StackedAreaChart

本文介绍了一个使用JavaFX实现的StackedAreaChart图表示例,展示了如何创建和叠加两个不同数据系列的面积图,包括代码实现和图表设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

StackedAreaChart

y=x 时图表

在这里插入图片描述

y=x*x 时图表

在这里插入图片描述

前两个图表叠加

在这里插入图片描述
javafx的chart的基本设置大体相通,可参考ScatterChart进行设置。

代码

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Pos;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.StackedAreaChart;
import javafx.scene.chart.XYChart.Series;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class StackedAreaChartUtility extends Application {
 
   
    private NumberAxis xAxis;
    private NumberAxis yAxis;
 
    public Series createSeriesA() {
    	 Series series = new StackedAreaChart.Series();
    	 series.setName("A");
    	 for(int i=1;i<10;i++) {
    		 series.getData().add(new StackedAreaChart.Data(i,i));
    	 }
    	 return series;
    }
    public Series createSeriesB() {
      	 Series series = new StackedAreaChart.Series();
       	 series.setName("B");
       	 for(int i=1;i<10;i++) {
       		 series.getData().add(new StackedAreaChart.Data(i,i*i));
       	 }
       	 return series;
   }
    public StackedAreaChart createChart(String title) {
    	StackedAreaChart chart;
        xAxis = new NumberAxis();
        xAxis.setLabel("X-Axis");
        yAxis = new NumberAxis();
        yAxis.setLabel("Y-Axis");
        chart = new StackedAreaChart(xAxis, yAxis);
		chart.setTitle("StackedAreaChart "+title);
        return chart;
    }
 
    @Override public void start(Stage primaryStage) throws Exception {
    	StackedAreaChart chartA = createChart("A");
    	chartA.getData().add(createSeriesA());

    	StackedAreaChart chartB = createChart("B");
    	chartB.getData().add(createSeriesB());
    	
    	StackedAreaChart chartAB = createChart("AB");
    	chartAB.getData().add(createSeriesA());
    	chartAB.getData().add(createSeriesB());
    	
    	primaryStage.setScene(new Scene(chartA));
        Stage b=new Stage();
        b.setScene(new Scene(chartB));
        b.show();
        Stage ab=new Stage();
        ab.setScene(new Scene(chartAB));
        ab.show();
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值