JavaFX 图表

2024 年 8 月 29 日 | 阅读 6 分钟

通常,图表可以定义为以符号形式表示数据的图形或图表。

图表主要用于表示大量数据以及数据各部分之间的关系。我们可以创建不同种类的图表来表示不同种类的信息。

在 JavaFX 中,我们可以使用包 javafx.scene.chart 提供的类来创建图表。

图表的类型

图表可以分为以下类型。

  1. 饼图:在饼图中,圆的扇区用于表示整体信息的不同比例。在 JavaFX 中,类 javafx.scene.chart.PieChart 用于处理饼图。我们将在后面详细讨论饼图。
  2. XY 图:在 XY 图中,信息绘制在 XY(水平和垂直)轴上。X 轴代表一种类型的值,而 Y 轴代表另一种类型的值。在 X 和 Y 图上绘制的值之间进行映射,以显示适当的信息。在 JavaFX 中,类 javafx.scene.chart.XYChart 用于处理 XY 图。

坐标轴的类型

X 轴和 Y 轴可以是以下两种类型之一。

  1. 类别轴:类别轴用于表示信息的不同类别。这与值轴不同,因为类别轴上不显示确切的值。在 JavaFX 中,类 javafx.scene.chart.CategoryAxis 表示类别轴。我们只需要实例化此类即可创建类别轴。
  2. 数值轴:数值轴用于表示值的确切范围。在 JavaFX 中,类 javafx.scene.chart.NumberAxis 表示数值轴。我们只需要实例化此类即可创建数值轴。

如何在 JavaFX 中创建图表?

使用以下说明在 JavaFX 中创建图表。

配置坐标轴

为了创建 X 轴和 Y 轴,我们需要实例化相应的类。但是,此步骤对于饼图不是必需的。使用以下代码创建坐标轴并设置其属性。

创建图表

我们只需要实例化相应的类即可创建图表。例如,以下语法将用于创建折线图。

将数据传递到图表

这是该过程中最重要的一步。使用以下步骤来实现此目的。

实例化 XYChart.Series

我们需要创建 XYChart.Series 类的实例,并为该系列设置适当的名称。基本上,一个系列代表一类实体的整套信息。图表中系列的数目等于图表中实体的数目。实体是在图表中显示其数据的那个。在以下代码中,我们实例化了 XYChart.Series 类。

将数据添加到系列

需要在 X 轴和 Y 轴之间进行映射,以便表示一个系列的适当信息。通过映射,我们只是指为另一个轴的值设置一个轴的值。在以下代码部分中,我们正在为该系列添加数据。

将系列添加到图表:最后,我们需要将系列添加到图表。在以下代码部分中,我们已将系列添加到折线图。

Linechart.getData().add(series)

配置 Group 和 Scene

这是所有 javafx 应用程序中最常见的部分。在这里,我们将创建组并将折线图添加到该组。组对象传递到 scene 类构造函数中。scene 类对象传递给 setScene 方法。为此,请使用以下代码部分。

JavaFX 为不同类型的图表提供了不同类型的类。包 javafx.scene.chart 的所有图表类都在下表中进行了描述。

序号图表名称描述
1饼图通常,饼图是一种图表或示意图,其中圆的扇区用于表示整体信息的不同比例。扇区圆弧的角度根据该扇区表示的信息的百分比而变化。在 JavaFX 中,饼图由类 javafx.scene.chart.PieChrt 表示。我们需要实例化此类才能创建饼图。
2折线图通常,折线图定义为一种图表,其中使用称为标记的数据点组来显示信息。数据点通过直线段连接。在 JavaFX 中,折线图由类 javafx.scene.chart.LineChart 表示
3面积图通常,面积图用于以图形方式显示定量数据。这基本上是在 XY 平面上绘制一系列点的面积。在 JavaFX 中,类 javafx.scene.chart.AreaChart 表示面积图
4柱状图通常,条形图可以定义为一种图表,其中使用矩形条来表示数值数据值。条的高度根据数值而变化。在 JavaFX 中,类 javafx.scene.chart.BarChart 表示条形图。
5气泡图气泡图可以定义为用于显示三维数据的图表。每个实体都由一个包含三个三元组 (v1, v2, v3) 的气泡标识。其中两个三元组由气泡的 (X,Y) 坐标显示,而第三个三元组由气泡的半径标识。在 JavaFX 中,类 javafx.scene.chart.BubbleChart 表示气泡图。我们需要实例化此类才能创建气泡图
6散点图在散点图中,数据点沿图表散布。每个数据点都显示两个轴之间的映射。它主要用于绘制两个轴的两个变量之间的关系。在 JavaFX 中,散点图由类 javafx.scene.chart.ScatterChart 类表示。我们需要实例化此类才能创建散点图。
7堆积面积图堆叠面积图是基本面积图的扩展,其中显示了同一图形上多个组的值的演变。为某个组的所有数据点绘制面积。但是,不同组的面积以堆叠的形式显示,但它们彼此不重叠。堆叠面积图主要用于跟踪两组值之间的比较。在 JavaFX 中,类 javafx.scene.chart.StackedAreaChart 用于表示堆叠面积图。我们需要实例化此类才能生成 stackedareachart 节点。
8堆积条形图在堆叠条形图中,不同组的值以堆叠的形式显示在矩形条上。这主要用于根据绘制在条上的长度来比较不同组的值。在 JavaFX 中,类 javafx.scene.chart.StackedBarChart 表示堆叠条形图。我们需要实例化此类才能生成 stackedbarchart 节点。

下一个主题JavaFX 饼图