Gráfico de barras JavaFX - ¿Cómo crear un gráfico de barras JavaFX con el programa?

Tabla de contenido:

Anonim

Introducción al gráfico de barras JavaFX

En JavaFX, los gráficos de barras se utilizan para mostrar los datos en forma de barras rectangulares donde la altura y la longitud se basan en la proporción del valor. Se puede crear un gráfico de barras instanciando la clase JavaFX.scene.chart.BarChart. Veamos en detalle la sintaxis, el constructor y los métodos del gráfico de barras JavaFX.

Sintaxis:

BarChart ll = new BarChart(x, y);

Aquí, x e y son los dos ejes del gráfico.

Constructores de gráfico de barras JavaFX

El gráfico de barras JavaFX tiene tres constructores.

Gráfico de barras (Eje X, Eje Y): se creará una nueva instancia de Gráfico de barras con el eje especificado.

Gráfico de barras (Eje X, Eje Y, Lista observable D) : se creará una nueva instancia de Gráfico de barras con el eje y los datos especificados.

Gráfico de barras (Eje X, Eje Y, ObservableList D, doble categoryGap) : se creará una nueva instancia de Gráfico de barras con el eje, los datos y la brecha de categoría mencionados.

Métodos de gráfico de barras JavaFX

Existen varios métodos para realizar diferentes funcionalidades de un gráfico de barras.

dataItemAdded (Series s, int index, XYChart.Data i) : cuando se agrega un elemento de datos i a la serie s, se llama a este método.

dataItemChanged (Data i): cuando se cambia un elemento de datos i, se llama a este método. El artículo puede ser valor x, valor y o valor extra.

dataItemRemoved (Data i, XYChart.Series s): cuando un elemento de datos i se elimina y aún está visible en el gráfico, se llama a este método.

layoutPlotChildren (): para actualizar y diseñar los elementos secundarios de la trama, se llamará a este método.

seriesAdded (Series s, int sIndex): se agregará una serie s al gráfico.

seriesRemoved (Series s): cuando se elimina una serie s y aún está visible en el gráfico, se llama a este método.

updateLegend (): se llamará a este método cuando se elimine o agregue una serie y la leyenda tenga que actualizarse.

barGapProperty (): el espacio que debe existir entre las barras de la misma categoría.

categoryGapProperty (): la brecha que debe existir entre barras de categorías separadas.

getBarGap () : se devolverá el valor de la propiedad barGap.

getBarGap (): se devolverá el valor de la propiedad barGap.

getCategoryGap (): se devolverá el valor de la propiedad CategoryGap.

setBarGap (doble v): se establecerá el valor de la propiedad barGap.

setCategoryGap (double v): se establecerá el valor de la propiedad CategoryGap.

¿Cómo crear un gráfico de barras JavaFX?

Para crear un gráfico de barras JavaFX, se pueden realizar los siguientes pasos.

1. Crear una clase

Cree una clase que se extienda desde la clase de aplicación. Para esto, importe la clase JavaFX.application.Application.

public class JavaFXChartsExample extends Application (
)

2. Configure los ejes X e Y

Hay dos tipos de eje: CategoryAxis y NumberAxis. Los detalles de los ejes deben mencionarse de la siguiente manera.

//x axis
CategoryAxis x = new CategoryAxis();
x.setLabel("Mobile");
//y axis
NumberAxis y = new NumberAxis();

3. Crear el gráfico de barras

Instanciar la clase javafx.scene.chart.BarChart. La siguiente sintaxis se utiliza para BarChart.

//bar chart creation>
BarChart bc = new BarChart(x, y);

4. Agregar datos a la serie y al gráfico

Este es el paso más crucial en este proceso donde se crea una instancia para XYChart.Series. Después de eso, los valores que deben mostrarse en el gráfico se agregarán utilizando la sintaxis a continuación.

XYChart.Series sr = new XYChart.Series();
sr.getData().add(new XYChart.Data( 1, 567));

Agregue datos a la serie creada anteriormente utilizando la sintaxis a continuación.

ll.getData().add(sr);

5. Configurar grupo y escena

A continuación, se creará un grupo y una escena. La escena se crea instanciando la clase javafx. escena una vez que se crea el grupo. Entonces solo se puede pasar el grupo como uno de los argumentos de la escena.

VBox vbox = new VBox(ll);
//create scene
Scene sc = new Scene(vbox, 400, 200);
//set scene
s.setScene(sc);
//set height and width
s.setHeight(350);
s.setWidth(1250);
//display the result
s.show();

Programa para implementar JavaFX Bar Chart

Ahora, veamos diferentes programas JavaFX para implementar un gráfico de barras con el fin de obtener una mejor comprensión de los mismos.

Programa 1:

import javafx.application.Application;
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.scene.layout.VBox;
import javafx.stage.Stage;
public class JavaFXChartsExample extends Application (
@Override
public void start(Stage s) (
s.setTitle("BarChart Sample");
//x axis
CategoryAxis x = new CategoryAxis();
x.setLabel("Mobile");
//y axis
NumberAxis y = new NumberAxis();
y.setLabel("count");
//bar chart creation
BarChart bc = new BarChart(x, y);
//add values
XYChart.Series ds = new XYChart.Series();
ds.setName("January");
ds.getData().add(new XYChart.Data("Samsung", 33));
ds.getData().add(new XYChart.Data("Xiaomi", 25));
ds.getData().add(new XYChart.Data("Honor", 10));
bc.getData().add(ds);
//vertical box
VBox vbox = new VBox(bc);
Scene sc = new Scene(vbox, 300, 200);
s.setScene(sc);
s.setHeight(300);
s.setWidth(1200);
s.show();
)
public static void main(String() args) (
Application.launch(args);
)
)

Salida:

Se crea un gráfico de barras vertical con 3 categorías Samsung, Xiaomi, Honor, cuenta con el eje y y móvil en el eje x.

Programa 2:

import javafx.application.Application;
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 JavaFXBarChartExample extends Application (
//declare all the string values
final static String A = "Happy";
final static String B = "Sad";
final static String C = "Mixed emotions";
@Override public void start(Stage s) (
//set title
s.setTitle("Bar Chart Sample");
//x and y axis
final NumberAxis x = new NumberAxis();
final CategoryAxis y = new CategoryAxis();
//create bar chart
final BarChart b =
new BarChart(x, y);
b.setTitle("Emotions of people");
//set title for x axis
x.setLabel("Percentage");
x.setTickLabelRotation(90);
//set title for y axis
y.setLabel("Emotion");
//dataset on 1999
XYChart.Series s1 = new XYChart.Series();
s1.setName("1999");
s1.getData().add(new XYChart.Data(10, A));
s1.getData().add(new XYChart.Data(60, B));
s1.getData().add(new XYChart.Data(30, C));
//dataset on 2009
XYChart.Series s2 = new XYChart.Series();
s2.setName("2009");
s2.getData().add(new XYChart.Data(50, A));
s2.getData().add(new XYChart.Data(30, C));
s2.getData().add(new XYChart.Data(20, B));
//dataset on 2019
XYChart.Series S3 = new XYChart.Series();
S3.setName("2019");
S3.getData().add(new XYChart.Data(70, A));
S3.getData().add(new XYChart.Data(25, B));
S3.getData().add(new XYChart.Data(5, C));
//create scene
Scene sc = new Scene(b, 700, 500);
b.getData().addAll(s1, s2, S3);
//set scene
s.setScene(sc);
//display result
s.show();
)
public static void main(String() args) (
launch(args);
)
)

Salida:

En este programa, se crea un gráfico de barras horizontales con 3 categorías, porcentaje en el eje xy emoción en el eje y.

Conclusión

Hay varios gráficos utilizados para representar datos. Un gráfico de barras es uno de esos gráficos en el que los datos se representan en barras rectangulares.

Artículos recomendados

Esta ha sido una guía para el gráfico de barras JavaFX. Aquí también discutimos cómo crear JavaFX Bar Chart, su sintaxis, constructor, método y ejemplos. También puede consultar los siguientes artículos para obtener más información:

  1. JavaFX vs Swing
  2. JavaFX vs Swing
  3. JFrame en Java
  4. ¿Qué es el JDK?
  5. Etiqueta JavaFX
  6. ¿Cómo crear una casilla de verificación en JavaFX con ejemplos?
  7. Ejemplos para implementar la casilla de verificación en Bootstrap
  8. Guía completa de color JavaFX
  9. Métodos de JavaFX VBox con código de muestra
  10. ¿Cómo crear un menú en JavaFX con ejemplos?