Cómo crear el gráfico circular en la aplicación web Java utilizando jfreechart

Un gráfico circular es un gráfico circular que se divide en sectores en los que el área de cada sector representa el tamaño de los datos.

En JFreeChart, podemos crear un gráfico circular usando el siguiente código.

import java.text.DecimalFormat;

import javax.swing.JFrame;

import javax.swing.SwingUtilities;

import javax.swing.WindowConstants;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartPanel;

import org.jfree.chart.JFreeChart;

importar org.jfree.chart.labels.PieSectionLabelGenerator;

import org.jfree.chart.labels.StandardPieSectionLabelGenerator;

importar org.jfree.chart.plot.PiePlot;

importar org.jfree.data.general.DefaultPieDataset;

importar org.jfree.data.general.PieDataset;

PieChartExample de clase pública extiende JFrame {

privado estático final largo serialVersionUID = 6294689542092367723L;

PieChartExample público (Título de cadena) {

super (título);

// Crear conjunto de datos

Conjunto de datos PieDataset = createDataset ();

// Crear gráfico

JFreeChart chart = ChartFactory.createPieChart (

“Ejemplo de gráfico circular”,

conjunto de datos,

cierto,

cierto,

falso);

// Formato de etiqueta PieSectionLabelGenerator labelGenerator = new StandardPieSectionLabelGenerator (

“Marcas {0}: ({2})”, nuevo DecimalFormat (“0”), nuevo DecimalFormat (“0%”));

((PiePlot) chart.getPlot ()). SetLabelGenerator (labelGenerator);

// Crear panel

Panel ChartPanel = nuevo ChartPanel (gráfico);

setContentPane (panel);

}

PieDataset privado createDataset () {

Conjunto de datos DefaultPieDataset = nuevo DefaultPieDataset ();

dataset.setValue (“80-100”, 120);

dataset.setValue (“60-79”, 80);

dataset.setValue (“40-59”, 20);

dataset.setValue (“20-39”, 7);

dataset.setValue (“0-19”, 3);

conjunto de datos de retorno;

}

public static void main (String [] args) {

SwingUtilities.invokeLater (() -> {

Ejemplo PieChartExample = nuevo PieChartExample (? Ejemplo de gráfico circular?);

ejemplo.setSize (800, 400);

ejemplo.setLocationRelativeTo (nulo);

ejemplo.setDefaultCloseOperation (WindowConstants.EXIT_ON_CLOSE);

ejemplo.setVisible (verdadero);

});

}

}

Para obtener más información sobre el gráfico circular y el tutorial completo de JFreeChart, puede consultar el tutorial de JFreeChart disponible en la web. Hay muchos, pero te sugiero que optes por Javatpoint porque su tutorial JFreeChart está diseñado tanto para principiantes como para profesionales.

Lo que solicitó es un enfoque obsoleto para las imágenes generadas dinámicamente. La gente se había cambiado a AJAX hace una década.

Para aplicaciones web como esta, debe usar JavaScript para dibujar gráficos en los navegadores del cliente, y el servidor de fondo solo debe alimentar datos sin formato en formato JSON o XML. Google “Javascript + chart” y puede encontrar varias bibliotecas Javascript gratuitas o comerciales que se pueden incrustar en páginas web, como HighCharts.

El beneficio de AJAX es obvio. Puede cambiar fácilmente el estilo simplemente ajustando CSS u otros parámetros de javascript, sin la necesidad de modificar los códigos Java de backend. Y tanto la transmisión de datos como la carga del servidor también se pueden reducir drásticamente, ya que no es necesario dibujar y transmitir la imagen completa en el servidor.

Si realmente necesita generar una imagen en el servidor con jfreechart por cualquier razón, debe seguir los métodos de la vieja escuela, generar una imagen en formato JPEG o PNG y almacenarla en un búfer, enviar el encabezado de respuesta HTTP con la cadena MIME Content-Type y contenido correspondiente -Longitud, y luego enviar los datos almacenados en binario.

More Interesting

¿Cuál es la diferencia entre un programador web y un desarrollador web?

Cómo configurar notificaciones para publicaciones en redes sociales para todo el personal de la empresa

Cómo desarrollar una aplicación web con AngularJS, Django o SQL

Suponiendo que la industria tecnológica está en una burbuja, ¿afectará el pop a las proyecciones de estadísticas laborales del crecimiento del empleo en el desarrollo web?

¿Qué pasos debo seguir si quiero desarrollar una aplicación web?

¿Qué es la lógica web y el sphare web?

¿Es posible tomar una aplicación web existente y hacer que funcione en una tableta o teléfono?

¿Qué demora tanto el soporte HTML5 fuera de línea en aplicaciones en la nube de Google como Gmail, Docs, Calendar y Reader?

¿Necesitamos una tienda de aplicaciones "web abierta"?

¿Hay alguna manera de crear APIs, también conocido como servicio web, en algún idioma definiendo solo los esquemas? ¿Puedo obtener mi función CRUD para que pueda ser consumida por los programas?

¿Cómo puedo proteger mi aplicación web de la inyección SQL?

¿Qué pila web debo usar para la aplicación web interna de las empresas cuyas características son como paneles de control, gestión de productos y gestión de inventario?

¿Qué marco de automatización es mejor para aplicaciones web y diferentes diferencias de marcos?

¿Usaría un curso que enseñe cómo crear aplicaciones web increíbles desde cero usando Laravel, Angular, Ionic y Foundation para aplicaciones?

¿Cuál es la tasa de tiempo de actividad del motor de aplicaciones de Google?