JavaFX StackedAreaChart

本文概述

  • 物产
  • 建设者
堆叠面积图是基本面积图的扩展, 其中在同一图形上显示几组值的演变。绘制了某个组的所有数据点的面积。但是, 不同组的区域以堆栈的形式显示, 但它们彼此不重叠。堆积面积图主要用于跟踪两组值之间的比较。
在下图中, 显示了不同州的人口。男性和女性人口由两个不同的区域代表, 其中代表女性人口的区域被绘制在代表女性人口的区域上。在X轴上, 绘制了一些状态, 而在Y轴上, 绘制了人口(以千为单位)。
JavaFX StackedAreaChart

文章图片
在JavaFX中, 类javafx.scene.chart.StackedAreaChart用于表示堆积面积图。我们需要实例化此类以生成Stacked-Area-Chart节点。
物产 该类仅包含一个属性, 该属性及其下表中的setter方法进行了描述。
属性 描述 设置方法
createSymbols 这是布尔类型的属性。它的真值表示将为尚未创建符号的任何数据项创建CSS符号。 setCreateSymbols(boolean value)
建设者 该类中有两个构造函数。
  1. public StackedAreaChart(Axis Xaxis, Axis Yaxis):使用指定的轴创建StackedAreaChart的新实例。
  2. public StackedAreaChart(Axis Xaxis, Axis Yaxis, ObservableList> data)):使用指定的轴和数据创建StackedAreaChart的新实例。

【JavaFX StackedAreaChart】在以下示例中, 我们显示了公司在两个不同年份的销售额之间的比较。
package application; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.chart.CategoryAxis; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.StackedAreaChart; import javafx.scene.chart.XYChart; import javafx.stage.Stage; public class StackedAreaChartExample extends Application{@Overridepublic void start(Stage primaryStage) throws Exception { // TODO Auto-generated method stub // Configuring Xaxis and Yaxis CategoryAxis xaxis = new CategoryAxis(); NumberAxis yaxis = new NumberAxis(100, 700, 50); xaxis.setLabel("Month"); yaxis.setLabel("Sales Value (lacs)"); //Creating StackedAreaChart StackedAreaChart stack = new StackedAreaChart(xaxis, yaxis); stack.setTitle("Sales Comparison between the year 2016 and 2017"); //Configuring Series 1 XYChart.Series year1 = new XYChart.Series< > (); year1.getData().add(new XYChart.Data("Jan", 140)); year1.getData().add(new XYChart.Data("Feb", 110)); year1.getData().add(new XYChart.Data("Mar", 125)); year1.getData().add(new XYChart.Data("Apr", 130)); year1.getData().add(new XYChart.Data("May", 180)); year1.getData().add(new XYChart.Data("Jun", 120)); year1.getData().add(new XYChart.Data("Jul", 133)); year1.getData().add(new XYChart.Data("Aug", 200)); year1.getData().add(new XYChart.Data("Sep", 230)); year1.getData().add(new XYChart.Data("Oct", 250)); year1.getData().add(new XYChart.Data("Nov", 255)); year1.getData().add(new XYChart.Data("Dec", 390)); //adding series1 to the stackedareachart stack.getData().add(year1); year1.setName("2017"); //Configuring Series 2 XYChart.Series year2 = new XYChart.Series< > (); year2.getData().add(new XYChart.Data("Jan", 200)); year2.getData().add(new XYChart.Data("Feb", 210)); year2.getData().add(new XYChart.Data("Mar", 225)); year2.getData().add(new XYChart.Data("Apr", 430)); year2.getData().add(new XYChart.Data("May", 180)); year2.getData().add(new XYChart.Data("Jun", 334)); year2.getData().add(new XYChart.Data("Jul", 143)); year2.getData().add(new XYChart.Data("Aug", 400)); year2.getData().add(new XYChart.Data("Sep", 431)); year2.getData().add(new XYChart.Data("Oct", 359)); year2.getData().add(new XYChart.Data("Nov", 155)); year2.getData().add(new XYChart.Data("Dec", 190)); //Adding Series2 to the StackedAreaChart stack.getData().add(year2); year2.setName("2016"); //Configuring group and Scene Group root = new Group(); root.getChildren().add(stack); Scene scene = new Scene(root, 600, 400); primaryStage.setScene(scene); primaryStage.setTitle("StackedAreaChart Example"); primaryStage.show(); }public static void main(String[] args) { launch(args); }}

JavaFX StackedAreaChart

文章图片

    推荐阅读