JavaFX BarChart条形图

通常,条形图可以定义为使用矩形条来表示数据的图表。条形的长度代表绘制在轴之一上的精确数字数据值。矩形条可以水平或垂直绘制在图形上。

在下图中,条形图显示了每个工程分支的学生人数。X 轴是类别轴,显示不同的分支,而 Y 轴是数字轴,显示特定分支的学生人数。

在 JavaFX 中,类javafx.scene.chart.BarChart表示条形图。我们需要实例化这个类以创建条形图。

1 BarChart 类的属性

属性 描述 setter方法
barGap 这是一个双重类型的属性。它表示同一类别的条形之间的差距。 setBarGap(Double value)
categoryGap 这是一个双重类型的属性。它代表了不同类别之间的差距。 setCategoryGap(Double value)

2 BarChart 类的构造函数

该类包含下面给出的三个构造函数。

  1. public BarChart(Axis Xaxis, Axis Yaxis) 使用指定的轴创建 BarChart 的新实例。
  2. public BarChart(Axis Xaxis, Axis Yaxis, ObservableList> data) 使用指定的轴和数据创建 BarChart 的新实例。
  3. public BarChart(Axis Xaxis, Axis Yaxis, ObservableList> data, double categoryGap)) 使用指定的轴、数据和类别间隙创建 BarChart 的新实例。

3 BarChart 类的例子

在下面的例子中,我们展示了不同货币和美元之间的转换。

package com.yiidian;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;

public class BarChartExample extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        //Defining string to label XAxis
        String Euro = "Euro";
        String Pound = "British Pound";
        String A_Dollar = "Austrelian Dollar";
        String frenc= "Swis Franc";

        //Configuring category and NumberAxis
        CategoryAxis xaxis= new CategoryAxis();
        NumberAxis yaxis = new NumberAxis(0.1,2,0.1);
        xaxis.setLabel("Currency");
        yaxis.setLabel("Dollar price");

        //Configuring BarChart
        BarChart<String,Float> bar = new BarChart(xaxis,yaxis);
        bar.setTitle("Dollar Conversion chart");

        //Configuring Series for XY chart
        XYChart.Series<String,Float> series = new XYChart.Series<>();
        series.getData().add(new XYChart.Data(Euro,0.83));
        series.getData().add(new XYChart.Data(Pound,0.73));
        series.getData().add(new XYChart.Data(frenc,1.00));
        series.getData().add(new XYChart.Data(A_Dollar,1.32));

        //Adding series to the barchart
        bar.getData().add(series);  

        // configuring group and scene
        Group root = new Group();
        root.getChildren().add(bar);
        Scene scene = new Scene(root,600,400);
        primaryStage.setScene(scene);
        primaryStage.setTitle("一点教程网:BarChart Example");
        primaryStage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}  

输出结果为:

热门文章

优秀文章