Recuerdan que lo primero es descargarse las librerías de JFreeChart. Vamos a necesitar las siguientes librerías JFreeChart y JCommon.
Una vez que estén importados los respectivos .jar podremos comenzar a ver el código.
Una forma fácil para probar el funcionamiento de esta librería fue crear unos 10000 números aleatorios entre 0 y 9 y llevar un registro de cuantas veces apareció cada número. Para esto tenemos el siguiente código:
Random rnd = new Random(System.currentTimeMillis()); int[] array = new int[10]; for (int i = 0; i < 10000; i++){ array[rnd.nextInt(10)]++; }
Cada vez que el random presente un numero, se aumenta en uno la cantidad de veces que fue dado. Finalizado el algoritmo tenemos un arreglo donde en cada índice se indica cuantas veces surgió ese índice del random.
Luego, procederemos a crear el gráfico de barra o área en base a nuestro arreglo con JFreeChart. Lo primero que haremos es crear un objeto que contenga todas las porciones para eso creamos una instancia de la clase DefaultCategoryDataset llamada dataset.
DefaultCategoryDataset dataset = new DefaultCategoryDataset(); for (int i = 0; i < array.length; i++){ dataset.addValue(array[i]," Valor " + i + ": " + array[i],i); }
Con el bucle for recorre todo el array y vamos cargando todos sus datos en el método .addValue( Int suValor,"String nombreDeLaBarra", Int coordenadaEnElEjeAbsciza ).
Luego, en base a este dataset, creamos nuestro gráfico. Utilizamos la factoría de creación de gráficos de JFreeChart, la ChartFactory el método .CreateAreaChart() para el gráfico de Área.
JFreeChart chart = ChartFactory.createAreaChart("Grafico de Barra", null, null, dataset);
En cambio el método .CreateBarChart() para el gráfico de Barra solo eso cambiamos para variar el tipo de gráfico.
Finalmente, insertamos este chart en un Frame para poder visualizarlo.
JFreeChart chart = ChartFactory.createBarChart("Grafico de Barra", null, null, dataset);
Finalmente, insertamos este chart en un Frame para poder visualizarlo.
ChartFrame cf= new ChartFrame("Graficos estadistico", chart); cf.pack(); cf.setLocationRelativeTo(null); cf.setVisible(true);
Ahora bien ¿qué pasa si queremos graficar datos optenidos de una base de datos?, a continuación se presenta un video explicativo que muestra como pueden hacerlo usando el Framework HIBERNATE:
El proyecto pueden descargar: