jueves, 23 de julio de 2015

Crear Gráficos de Barra y Área en Java con JFreeChart

Hoy les presento una forma muy fácil para crear y mostrar un gráfico de Barra y Área en Java con JFreeChart.

Recuerdan que lo primero es descargarse las librerías de JFreeChart. Vamos a necesitar las siguientes librerías JFreeChart 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.


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:


domingo, 12 de julio de 2015

Crear Gráfico Circular con JFreeChart en Java

Hoy les presento una forma muy fácil para crear y mostrar un gráfico de torta en Java con JFreeChart.

Recuerdan que lo primero es descargarse las librerías de JFreeChart. Vamos a necesitar las siguientes librerías JFreeChart 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 torta 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 DefaultPieDataset llamada dataset.
DefaultPieDataset dataset = new DefaultPieDataset();
for (int i = 0; i < array.length; i++){
  dataset.setValue("Valor " + i + ": " + array[i], array[i]);
}

Con el bucle for recorre todo el array y vamos cargando todos sus datos en el método .setValue("String nombreDeLaPorción", Int suValor).
Luego, en base a este dataset, creamos nuestro gráfico. Utilizamos la factoría de creación de gráficos de JFreeChart, la ChartFactory.


JFreeChart chart = 
ChartFactory.createPieChart("Repeticion de los numeros de randoms",
dataset, true, true, true);

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:


miércoles, 8 de julio de 2015

Cómo relacionar dos tablas a través de su clave Foránea en phpMyAdmin

Wampserver es una aplicación tipo administrador de servidor Apache, base de datos MySql y con interprete en el lenguaje PHP. En cuanto a la creación a Bases de Datos tiene una potente aplicación web que nos puede ofrecer una forma más amigable de gestionar nuestra Base de Datos como crear, modificar, eliminar sus tablas, relacionarlas etc. todo desde una interfaz intuitiva y fácil de aprender, de qué estamos hablando? del servicio de PhpMyAdmin.

A continuación me centraré de como crear dos tablas en PhpMyAdmin y poder relacionarlas a través de una clave Foránea, si no tienen Wampserver  pueden descargarlo Aquí (compatible para windows 7 u 8) lo instalan y ya podrán usarlo.
El modelo relacional de la BD se presenta a continuación:

Como pueden observar la relación que existe es 1 a mucho y la tabla que posee la clave foránea es la tabla Libro con la columna idh_edi

1. Lo primero que hacemos ejecutamos la aplicación, arrancará todos los servicios y quedará en verde el icono en nuestra barra de tareas,  esto significa que ya está listo para usarlo.


2. Hacen clic principal sobre el icono y le aparece una pestaña con todos sus servicios ustedes deberan eligir en esta ocasión el que dice phpMyAdmin.



Al hacer clic sobre esta opción se abrirá una ventana de su navegador donde se ejecutará la aplicación y quedará de la siguiente manera:


3. Hagan clic en la pestaña que dice Bases de datos en la esquina superior derecha de la pantalla, en donde le redirigirá al formulario para crear una base de datos nueva:



Pondrán el nombre de su Base de datos y el tipo de "Cotejamiento" este ultimo no es obligatorio pero se librarán de varios problemas luego si lo especifican, en nuestro caso el más recomendado para latinoamérica y países de habla hispana es el UTF8 ya que reconoce las Ñ, los acentos etc.
El nombre que pondré a mi BD es BibliotecaBD como se puede ver en la imagen. Luego clic en Crear y listo ya esta creada la Base de datos.

4. Ahora sí en el listado de Bases de datos le aparecerá este nueva que crearon harán clic sobre esta y se le redireccionará para crear sus tablas: 



5. Hacemos clic en Crear tabla y nos pasa al formulario para crear la misma o bien hacia la izquierda de este página ya podemos ingresar el nombre de la tabla y la cantidad de columnas. Esta segunda opción vamos a realizar colocando el nombre de nuestra tabla Editorial ya que ella es la principal (no necesita de Libros para existir) y la cantidad de columas en este caso 4 como se podía apreciar en el Modelo Relacional, damos clic en Continuar y nos aparece el formulario para crear todas sus columnas especificando el Tipo de datos que recibe, si perminte Campos vacios (Null) si es Clave Primaria etc.
En este caso solo especificamos el tipo de datos y cual de sus columnas es Clave Primaria y AutoIncrementable (A_I), es decir que no necesitamos poner un numero a cada registro de manere manual:


Damos clic en Guardar y listo.

6. Ahora si podemos crear la tabla Libro ya que en esta hay una columna que es clave Foranea de la tabla Editorial y por ende teníamos que crear primero esta  para luego especificar en la tabla Libro.
Hacemos el mismo paso que dijimos en el 5 solo que cambiamos algunos datos de sus columnas:


Damos clic en Guardar y listo.
Pero hasta aquí todavía no solucionamos del todo la relación entre estas dos tablas pero si estamos ya casi por terminar. Una vez que guardamos la tabla Libro nos dirige a esta página donde ya podemos ver todas las tablas creadas en la Base de datos BibliotecaBD hacemos clic en la tabla Libro para hacer los últimos ajustes de la relación. 


Al hacer clic sobre Libro nos presenta la siguiente página:


Acá hecmos clic en el enlace Vista de relaciones es ahí donde vamos a especificar que columna sera Foranea en otras palabras que columna marcará la relación entre tabla y tabla.
Nos presenta la siguiente página:


La columa idh_edi es la que nos iva  a servir como clave Foranea en la cual deberemos especificar con que columna vamos a relacionar en este caso es obviamente que con la columna id_edi de la tabla Editorial como figuraba en el Modelo relacional. Elegimos esto y clickeamos Guardar y listo ahora así ya tenemos relacionadas estas dos tablas.

Bueno amigos espero que le haya servido, era fácil no?, esto es una de las posibilidades que nos ofrece phpMyAdmin que a la vez se puede hacer de una manera rápida y fácil.

Cualquier cosa que no quedó en claro Comenten!!!...