JavaFX - 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.
A continuación, se muestra un gráfico circular que muestra las ventas móviles de varias empresas en una instancia.
En JavaFX, un gráfico circular está representado por una clase llamada PieChart. Esta clase pertenece al paquetejavafx.scene.chart.
Al crear una instancia de esta clase, puede crear un nodo PieChart en JavaFX.
Esta clase tiene 5 propiedades que son las siguientes:
clockwise- Este es un operador booleano; al establecer este operador como verdadero, los segmentos de datos en los gráficos circulares se organizarán en el sentido de las agujas del reloj comenzando desde el ángulo inicial del gráfico circular.
data - Esto representa un ObservableList objeto, que contiene los datos del gráfico circular.
labelLineLength - Un operador de número entero que representa la longitud de las líneas que conectan las etiquetas y los sectores del gráfico circular.
labelsVisible- Este es un operador booleano; al establecer este operador como verdadero, se dibujarán las etiquetas para los gráficos circulares. De forma predeterminada, este operador se establece en verdadero.
startAngle - Este es un operador de tipo doble, que representa el ángulo en el que se inicia el primer segmento circular.
Para generar un gráfico circular, prepare un objeto ObservableList como se muestra en el siguiente bloque de código:
//Preparing ObservbleList object
ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList(
new PieChart.Data("Iphone 5S", 13),
new PieChart.Data("Samsung Grand", 25),
new PieChart.Data("MOTO G", 10),
new PieChart.Data("Nokia Lumia", 22));
Después de preparar el ObservableList objeto, páselo como argumento al constructor de la clase PieChart como sigue -
//Creating a Pie chart
PieChart pieChart = new PieChart(pieChartData);
O, usando el método llamado setData() de la clase nombrada PieChart del paquete llamado javafx.scene.chart.
pieChart.setData(pieChartData);
Pasos para generar un gráfico circular
Para generar un PieChart en JavaFX, siga los pasos que se indican a continuación.
Paso 1: crear una clase
Cree una clase Java y herede la Application clase del paquete javafx.application e implementar el start() método de esta clase de la siguiente manera.
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
Paso 2: preparación del objeto ObservableList
Prepara un objeto de la interfaz ObservableList objeto pasando los datos del gráfico circular como se muestra a continuación:
ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList(
new PieChart.Data("Iphone 5S", 13),
new PieChart.Data("Samsung Grand", 25),
new PieChart.Data("MOTO G", 10),
new PieChart.Data("Nokia Lumia", 22));
Paso 3: Crear un objeto PieChart
Crear un PieChart pasando el ObservableList objeto como se muestra a continuación.
//Creating a Pie chart
PieChart pieChart = new PieChart(pieChartData);
Paso 4: Establecer el título del gráfico circular
Establezca el título del gráfico circular con el setTitle() método de la clase PieChart. Esto pertenece al paquetejavafx.scene.chart -
//Setting the title of the Pie chart
pieChart.setTitle("Mobile Sales");
Paso 5: Ajuste de las rebanadas en sentido horario
Coloque las porciones de los gráficos circulares en el sentido de las agujas del reloj. Esto se hace pasando un valor booleano verdadero alsetClockwise() método de la clase PieChart. Esto pertenece al paquetejavafx.scene.chart -
//setting the direction to arrange the data
pieChart.setClockwise(true);
Paso 6: Establecer la longitud de la línea de etiqueta
Establezca la longitud de la línea de la etiqueta con el setLabelLineLength() método de la clase PieChart que pertenece al paquete javafx.scene.chart, como sigue -
//Setting the length of the label line
pieChart.setLabelLineLength(50);
Paso 7: establezca las etiquetas visibles
Establezca las etiquetas del gráfico circular como visibles pasando el valor booleano true al método setLabelsVisible() de la clase PieChart. Esto pertenece al paquetejavafx.scene.chart -
//Setting the labels of the pie chart visible
pieChart.setLabelsVisible(true);
Paso 8: establecer el ángulo de inicio del gráfico circular
Establezca el ángulo de inicio del gráfico circular con el setStartAngle() método de la clase PieChart. Esto pertenece al paquetejavafx.scene.chart -
//Setting the start angle of the pie chart
pieChart.setStartAngle(180);
Paso 9: creación de un objeto de grupo
En el start()método, cree un objeto de grupo creando una instancia de la clase llamada Grupo. Esto pertenece al paquetejavafx.scene.
Pase el objeto PieChart (nodo), creado en el paso anterior, como parámetro al constructor de la clase Group. Esto debe hacerse para agregarlo al grupo de la siguiente manera:
Group root = new Group(piechart);
Paso 10: creación de un objeto de escena
Cree una escena creando una instancia de la clase llamada Scene, que pertenece al paquete javafx.scene. A esta clase, pase el objeto Grupo (root) creado en el paso anterior.
Además del objeto raíz, también puede pasar dos parámetros dobles que representan la altura y el ancho de la pantalla, junto con el objeto de la clase Grupo como se muestra a continuación.
Scene scene = new Scene(group ,600, 300);
Paso 11: Establecer el título del escenario
Puede establecer el título del escenario utilizando el setTitle() método del Stageclase. losprimaryStage es un objeto de escenario, que se pasa al método de inicio de la clase de escena como parámetro.
Utilizando el primaryStage objeto, establezca el título de la escena como Sample Application como sigue.
primaryStage.setTitle("Sample Application");
Paso 12: Agregar escena al escenario
Puede agregar un objeto de escena al escenario usando el método setScene() de la clase nombrada Stage. Agregue el objeto Scene preparado en los pasos anteriores utilizando este método como se muestra a continuación.
primaryStage.setScene(scene);
Paso 13: Visualización del contenido del escenario
Muestre el contenido de la escena usando el método llamado show() del Stage clase de la siguiente manera.
primaryStage.show();
Paso 14: Lanzamiento de la aplicación
Inicie la aplicación JavaFX llamando al método estático launch() del Application class del método principal de la siguiente manera.
public static void main(String args[]){
launch(args);
}
Ejemplo
La siguiente tabla muestra la venta móvil con la ayuda de un gráfico circular. La siguiente tabla tiene una lista de diferentes marcas de móviles y su venta (unidades por día).
S. No | Marcas móviles | Ventas (Unidades por día) |
---|---|---|
1 | Iphone 5s | 20 |
2 | Samsung Grand | 20 |
3 | MOTO G | 40 |
4 | Nokia Lumia | 10 |
A continuación se muestra un programa Java que genera un gráfico circular, que muestra los datos anteriores utilizando JavaFX. Guarde este código en un archivo con el nombrePieChartExample.java.
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.PieChart;
public class PieChartExample extends Application {
@Override
public void start(Stage stage) {
//Preparing ObservbleList object
ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList(
new PieChart.Data("Iphone 5S", 13),
new PieChart.Data("Samsung Grand", 25),
new PieChart.Data("MOTO G", 10),
new PieChart.Data("Nokia Lumia", 22));
//Creating a Pie chart
PieChart pieChart = new PieChart(pieChartData);
//Setting the title of the Pie chart
pieChart.setTitle("Mobile Sales");
//setting the direction to arrange the data
pieChart.setClockwise(true);
//Setting the length of the label line
pieChart.setLabelLineLength(50);
//Setting the labels of the pie chart visible
pieChart.setLabelsVisible(true);
//Setting the start angle of the pie chart
pieChart.setStartAngle(180);
//Creating a Group object
Group root = new Group(pieChart);
//Creating a scene object
Scene scene = new Scene(root, 600, 400);
//Setting title to the Stage
stage.setTitle("Pie chart");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac PieChartExample.java
java PieChartExample
Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra un gráfico circular como se muestra a continuación.