JavaFX BarChart条形图
通常,条形图可以定义为使用矩形条来表示数据的图表。条形的长度代表绘制在轴之一上的精确数字数据值。矩形条可以水平或垂直绘制在图形上。
在下图中,条形图显示了每个工程分支的学生人数。X 轴是类别轴,显示不同的分支,而 Y 轴是数字轴,显示特定分支的学生人数。
在 JavaFX 中,类javafx.scene.chart.BarChart表示条形图。我们需要实例化这个类以创建条形图。
1 BarChart 类的属性
属性 | 描述 | setter方法 |
---|---|---|
barGap | 这是一个双重类型的属性。它表示同一类别的条形之间的差距。 | setBarGap(Double value) |
categoryGap | 这是一个双重类型的属性。它代表了不同类别之间的差距。 | setCategoryGap(Double value) |
2 BarChart 类的构造函数
该类包含下面给出的三个构造函数。
- public BarChart(Axis Xaxis, Axis Yaxis)
使用指定的轴创建 BarChart 的新实例。: - public BarChart(Axis Xaxis, Axis Yaxis, ObservableList> data)
使用指定的轴和数据创建 BarChart 的新实例。: - 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);
}
}
输出结果为:
热门文章
优秀文章