JavaFX - Gráficos

En general, un gráfico es una representación gráfica de datos. Hay varios tipos de gráficos para representar datos comoBar Chart, Pie Chart, Line Chart, Scatter Chart, etc.

JavaFX Proporciona soporte para varios Pie Charts y XY Charts. Los gráficos que se representan en un plano XY incluyenAreaChart, BarChart, BubbleChart, LineChart, ScatterChart, StackedAreaChart, StackedBarChart, etc.

Cada gráfico está representado por una clase y todos estos gráficos pertenecen al paquete javafx.scene.chart. La clase nombradaChart es la clase base de todos los gráficos en JavaFX y el XYChart es la clase base de todas las cartas que se dibujan en el plano XY.

Crear un gráfico

Para crear un gráfico, necesita:

  • Definir el eje del gráfico
  • Instancia de la clase respectiva
  • Preparar y pasar datos al gráfico

Instanciar la clase respectiva

Para crear un gráfico, cree una instancia de su clase respectiva. Por ejemplo, si desea crear un gráfico de líneas, debe crear una instancia de la clase denominadaLine como sigue -

LineChart linechart = new LineChart(xAxis, yAxis);

Como se observa en el código anterior, mientras crea una instancia, debe pasar dos objetos que representan los ejes X e Y del gráfico, respectivamente.

Definiendo el Eje

En general, el eje de los gráficos se puede representar mediante:

  • Números como población, edad y
  • Categorías como Días de la semana, Países.

En JavaFX, un eje es una clase abstracta que representa el eje X o Y. Tiene dos subclases para definir cada tipo de eje, a saberCategoryAxis y NumberAxis como se muestra en el siguiente diagrama -

Category Axis- Al crear una instancia de esta clase, puede definir (crear) un eje X o Y a lo largo del cual cada valor representa una categoría. Puede definir un eje de categoría creando una instancia de esta clase como se muestra a continuación:

CategoryAxis xAxis = new CategoryAxis();

Para este eje, debe establecer la lista de categorías y la etiqueta en el eje como se muestra a continuación:

//setting the list of categories.  
xAxis.setCategories(FXCollections.<String>observableArrayList
   (Arrays.asList("n ame1", "name2"….)));  

//Setting label to the axis  
xAxis.setLabel("name of the axis ");

NumberAxis- Al crear una instancia de esta clase, puede definir (crear) un eje X o Y a lo largo del cual cada valor representa un valor numérico. Puede utilizar cualquier tipo de número con esteAxis, Long, Double, BigDecimal, etc. Puede definir un eje numérico creando una instancia de esta clase de la siguiente manera:

//Defining the axis 
NumberAxis yAxis = new NumberAxis();  

//Setting labelto the axis 
yAxis.setLabel("name of the axis");

Pasar datos a gráficos XY

Todos los gráficos XY están representados a lo largo del plano XY. Para trazar un conjunto de puntos en un gráfico, necesitamos especificar una serie de coordenadas XY.

los <X,Y> clase de la javafx.scene.chartpackage es una clase con la que puede enviar datos a un gráfico. Esta clase contiene una lista observable de series con nombre. Puede obtener esta lista usando elgetData() método de XYChart.Series clase como se muestra a continuación -

ObservableList list = series.getData();

Dónde, series es el objeto de la XYChart.Seriesclase. Puede agregar datos a esta lista usando eladd() método de la siguiente manera -

list.add(new XYChart.Data(x-axis data, y-axis data));

Estas dos líneas se pueden escribir juntas como se muestra a continuación:

series.getData().add(new XYChart.Data(x-axis data, y-axis data));

La siguiente tabla ofrece una descripción de varios gráficos (clases) proporcionados por JavaFX:

S. No Gráfico y descripción
1 Gráfico circular

Un gráfico circular es una representación de valores como porciones de un círculo con diferentes colores. Estos cortes están etiquetados y los valores correspondientes a cada corte se representan en el gráfico.

En JavaFX, un gráfico circular está representado por una clase llamada PieChart. Esta clase pertenece al paquetejavafx.scene.chart.

2 Gráfico de linea

Un gráfico de líneas o un gráfico de líneas muestra información como una serie de puntos de datos (marcadores) conectados por segmentos de línea recta. El gráfico de líneas muestra cómo cambian los datos con la misma frecuencia de tiempo.

En JavaFX, un gráfico de líneas está representado por una clase llamada LineChart. Esta clase pertenece al paquetejavafx.scene.chart. Al crear una instancia de esta clase, puede crear un nodo LineChart en JavaFX.

3 Gráfico de área

Los gráficos de área se utilizan para dibujar gráficos basados ​​en áreas. Traza el área entre la serie de puntos dada y el eje. En general, esta tabla se usa para comparar dos cantidades.

En JavaFX, un gráfico de área está representado por una clase llamada AreaChart. Esta clase pertenece al paquetejavafx.scene.chart. Al crear una instancia de esta clase, puede crear un nodo AreaChart en JavaFX.

4 Gráfico de barras

Se utiliza un gráfico de barras para representar datos agrupados mediante barras rectangulares. La longitud de estas barras representa los valores. Las barras en el gráfico de barras se pueden trazar vertical u horizontalmente.

En JavaFX, un gráfico de barras está representado por una clase llamada BarChart. Esta clase pertenece al paquetejavafx.scene.chart. Al crear una instancia de esta clase, puede crear un nodo BarChart en JavaFX.

5 Gráfico de burbujas

Se utiliza un gráfico de burbujas para representar datos tridimensionales. La tercera dimensión estará representada por el tamaño (radio) de la burbuja.

En JavaFX, un gráfico de burbujas está representado por una clase llamada BubbleChart. Esta clase pertenece al paquetejavafx.scene.chart. Al crear una instancia de esta clase, puede crear un nodo BubbleChart en JavaFX.

6 Gráfico de dispersión

Un diagrama de dispersión es un tipo de gráfico que utiliza valores de dos variables trazadas en un plano cartesiano. Suele utilizarse para averiguar la relación entre dos variables.

En JavaFX, un gráfico de dispersión está representado por una clase llamada ScatterChart. Esta clase pertenece al paquetejavafx.scene.chart. Al crear una instancia de esta clase, puede crear un nodo ScatterChart en JavaFX.

7 Gráfico de área apilada

En JavaFX, un gráfico de área apilada está representado por una clase llamada StackedAreaChart.

Esta clase pertenece al paquete javafx.scene.chart. Al crear una instancia de esta clase, puede crear un nodo StackedAreaChart en JavaFX.

8 Gráfico de barras apiladas

En JavaFX, un gráfico de barras apiladas está representado por una clase llamada StackedBarChart.

Esta clase pertenece al paquete javafx.scene.chart. Al crear una instancia de esta clase, puede crear un nodo StackedBarChart en JavaFX.