JavaFX StackedBarChart

本文概述

  • 物产
  • 建设者
在堆叠的条形图中, 不同组的值以堆叠形式显示在矩形条上。这主要用于根据条上绘制的长度比较不同组的值。
下图比较了不同州的男女人口。在x轴上绘制状态, 而在y轴上绘制种群。
JavaFX StackedBarChart

文章图片
在JavaFX中, 类javafx.scene.chart.StackedBarChart表示堆积的条形图。我们需要实例化此类以生成StackedBarChart节点。
物产 该类仅包含一个属性, 下表及其setter方法对此属性进行了描述。
属性 描述 设置方法
categoryGap 这是一个双精度类型的属性。它代表条形类别之间的差距。 setCategoryGap(double value)
建设者 该类中有三个构造函数。
  1. public StackedBarChart(Axis Xaxis, Axis Yaxis):使用指定的轴创建stackdbarchart的新实例。
  2. public StackedBarChart(Axis Xaxis, Axis Yaxis, ObservableList> data):使用指定的轴和数据创建stackdbarchart的新实例。
  3. public StackedBarChart(Axis Xaxis, Axis Yaxis, ObservableList> data, double categoryGap):使用指定的轴, 数据和categorygap创建StackeBarChart的新实例

【JavaFX StackedBarChart】在下面的示例中, 我们显示了一年中每个月两种编程语言的流行程度之间的比较。 x轴是类别轴, 而y轴是数字轴。在X轴上, 我们绘制了一年中的月份, 而在Y轴上, 我们绘制了读者数量。
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.StackedBarChart; import javafx.scene.chart.XYChart; import javafx.stage.Stage; public class StackedBarChartExample 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(1000, 300000, 1000); xaxis.setLabel("Months"); yaxis.setLabel("Number of users"); //Configuring StackedBarChart StackedBarChart sb = new StackedBarChart(xaxis, yaxis); sb.setTitle("Popularity of Programming languages"); //Configuring series for java XYChart.Series java = new XYChart.Series< > (); java.setName("java"); java.getData().add(new XYChart.Data< > ("Jan", 10000)); java.getData().add(new XYChart.Data< > ("Jan", 130000)); java.getData().add(new XYChart.Data< > ("Feb", 50000)); java.getData().add(new XYChart.Data< > ("Mar", 60300)); java.getData().add(new XYChart.Data< > ("Apr", 105600)); java.getData().add(new XYChart.Data< > ("May", 50600)); java.getData().add(new XYChart.Data< > ("Jun", 103000)); java.getData().add(new XYChart.Data< > ("Jul", 104500)); java.getData().add(new XYChart.Data< > ("Aug", 203000)); java.getData().add(new XYChart.Data< > ("Sep", 103400)); java.getData().add(new XYChart.Data< > ("Oct", 105600)); java.getData().add(new XYChart.Data< > ("Nov", 102400)); java.getData().add(new XYChart.Data< > ("Dec", 200000)); //Adding series java to the stackedbarchart sb.getData().add(java); //Configuring series python XYChart.Series python = new XYChart.Series< > (); python.setName("python"); python.getData().add(new XYChart.Data< > ("Jan", 50000)); python.getData().add(new XYChart.Data< > ("Jan", 14300)); python.getData().add(new XYChart.Data< > ("Feb", 50400)); python.getData().add(new XYChart.Data< > ("Mar", 100500)); python.getData().add(new XYChart.Data< > ("Apr", 104000)); python.getData().add(new XYChart.Data< > ("May", 134000)); python.getData().add(new XYChart.Data< > ("Jun", 60000)); python.getData().add(new XYChart.Data< > ("Jul", 78000)); python.getData().add(new XYChart.Data< > ("Aug", 89000)); python.getData().add(new XYChart.Data< > ("Sep", 150000)); python.getData().add(new XYChart.Data< > ("Oct", 120000)); python.getData().add(new XYChart.Data< > ("Nov", 109450)); python.getData().add(new XYChart.Data< > ("Dec", 50450)); //adding python series to the stackedbarchart sb.getData().add(python); //Configuring group and Scene Group root = new Group(); root.getChildren().add(sb); Scene scene = new Scene(root, 600, 400); primaryStage.setScene(scene); primaryStage.setTitle("StackedBarChart Example"); primaryStage.show(); }public static void main(String[] args) { launch(args); }}

JavaFX StackedBarChart

文章图片

    推荐阅读