Sie sind auf Seite 1von 10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek

(/)

Un sitio web acerca de electrnica y programacin hecho en Panam


Antony Garca Gonzlez, Kiara Navarro & PanamaHitek Creative Team

Main Menu

Gra cando en Java con JFreeChart


marzo 3, 2013 (http://panamahitek.com/graficando-en-java-con-jfreechart/)

Antony Garca Gonzlez (http://panamahitek.com/author/antony-garcia-gonzalezgmail-

com/)

Esta vez presento un tutorial muy detallado acerca del uso de la librera JFreeChart en Java, que nos permitir hacer
diferentes tipos de grficos con plantillas preestablecidas y con opciones dinmicas.

En publicaciones pasadas aprendimos como construir una sencilla pero eficaz graficadora en Java, con la cual graficamos datos a partir de los sensores DHT11
(/arduinojava-graficadora-de-datos-de-sensores/) y HC-SR04 (http://panamahitek.com/arduinojava-graficando-datos-de-sensor-ultrasonico-hc-sr04/).
En el da de hoy vamos a realizar experiencias similares, esta vez utilizando la librera JFreeChart.
Una de las razones por las cuales me decid a programar en Java es que existe una gran cantidad de material hecho por otros programadores. Este material est
disponible al pblico que lo necesite y est interesado en utilizarlo.
JFreeChart fue hecho para hacer grficas en Java. El sitio web oficial es el siguiente: http://www.jfree.org/jfreechart/ (http://www.jfree.org/jfreechart/)
Utilizar JFreeChart es relativamente sencillo. Basta con
(http://sourceforge.net/projects/jfreechart/files/1.%20JFreeChart/).

descargar

la

librera

desde

la

pgina

de

descargas

oficial

de

JFreeChart

Descargar Ahora
Iniciar la descarga. Contenidos para Movil Aqui.

La versin ms reciente al da de hoy es la 1.0.14.


Ahora nos dirigimos a Netbeans y creamos un nuevo proyecto. Agregamos un JFrame y un botn.
Ahora

vamos

al

cdigo.

Necesitamos

importar

nuestro

proyecto

las

libreras

JFreeChart

JCommons,

ambas

disponibles

aqu

(http://sourceforge.net/projects/jfreechart/files/1.%20JFreeChart/1.0.14/).

(http://panamahitek.com/wp-content/uploads/2013/09/jfreechart.png)

C# Gauges
300+ C# customizable gauges for Win & Web. Download free trial!

Luego necesitamos importar la librera JFreeChart. Esto se har automticamente cada vez que aparezca un mensaje de error indicando que hace falta una librera.
Ahora es momento de iniciar con la programacin. Declararemos una variable llamada Grafica:
JFreeChart Grafica;

http://panamahitek.com/graficando-en-java-con-jfreechart/

1/10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek

(http://panamahitek.com/wp-content/uploads/2013/09/jfreechart2.png)
Ahora lo que viene es bastante sencillo. EL primer ejemplo que haremos ser una grfica de barra que muestre la cantidad de personas que asiste a un
establecimiento durante los das de una semana. Algo completamente random que solo sirva para ver como funciona el chart. Los datos que se van a graficar se
deben guardar en un DefaultCategoryDataset. Para ello declaramos una variable llamada Datos.
DefaultCategoryDataset Datos = new DefaultCategoryDataset();

(http://panamahitek.com/wp-content/uploads/2013/09/jfreechart3.png)
Ahora agregamos los datos al Dataset.

1
2
3
4
5
6
7

Datos.addValue(1,
Datos.addValue(2,
Datos.addValue(3,
Datos.addValue(4,
Datos.addValue(5,
Datos.addValue(6,
Datos.addValue(7,

"Negocio
"Negocio
"Negocio
"Negocio
"Negocio
"Negocio
"Negocio

1",
1",
1",
1",
1",
1",
1",

"Lunes");
"Martes");
"Mircoles");
"Jueves");
"Viernes");
"Sbado");
"Domingo");

Los parmetros del mtodo addValue son los siguientes:


Parmetro 1: el valor que se va a graficar
Parmetro 2: El identificador del grupo de datos. Si se ha de graficar datos de diferentes tipos, se le coloca diferentes identificadores.
Parmetro 3: La etiqueta de la columna en el grfico de barras.
Colocaremos el DataSet de la siguiente forma:

(http://panamahitek.com/wp-content/uploads/2013/09/jfreechart4.png)
Por ltimo iniciaremos la variable Grafica y estableceremos que el grfico ser de barras.
Si agregamos el ChartFactory.createBarChart nos encontramos 8 parmetros que tenemos que pasarle al mtodo createBarChart.
Estos parmetros son los siguientes:
Parmetro 1: El ttulo del grfico
Parmetro 2: Etiqueta o nombre del eje horizontal
Parmetro 3: Etiqueta o nombre del eje vertical.
Parmetro 4: El modelo de datos
Parmetro 5: Se le agrega

PlotOrientation

se

decide

si

http://panamahitek.com/graficando-en-java-con-jfreechart/

se

desea

que

el

grfico

sea

vertical

(PlotOrientation.VERTICAL)

2/10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek


Parmetro

5:

Se

le

agrega

PlotOrientation

se

decide

si

se

desea

que

el

grfico

sea

vertical

(PlotOrientation.VERTICAL)

horizontal (PlotOrientation.HORIZONTAL).
Parmetro 6: un valor True o False. Si se coloca True se colocar una etiqueta debajo del grfico que indicar que grupo de datos representa cada color. Por
ejemplo, los datos en rojo son del negocio 1, los datos en azul son los del negocio 2, etc
Parmetro 7: Un valor True o False. Si se le coloca True, cuando se le pase el ratn por encima aparecer una pequea etiqueta que indica el valor que se
halla graficado.
Parmetro 8: Un valor True o False. Es para agregar urls. Se deja casi exclusivamente para diseos orientados a la web. Nosotros lo dejaremos en False.
Nosotros utilizaremos los siguientes parmetros:

1 Grafica = ChartFactory.createBarChart("Visitas diarias",


2 "Das", "Visitas", Datos,
3 PlotOrientation.HORIZONTAL, true, true, false);

(http://panamahitek.com/wp-content/uploads/2013/09/jfreechart5.png)
Con esto damos por terminada la programacin del chart. Ahora solo tenemos que agregar el grfico a una ventana.
Vamos al botn que agregamos al principio y colocamos el siguiente cdigo:

1
2
3
4
5
6

ChartPanel Panel = new ChartPanel(Grafica);


JFrame Ventana = new JFrame("JFreeChart");
Ventana.getContentPane().add(Panel);
Ventana.pack();
Ventana.setVisible(true);
Ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

(http://panamahitek.files.wordpress.com/2013/03/netbeans9.png)

Ahora estamos listos para probar nuestra aplicacin.

http://panamahitek.com/graficando-en-java-con-jfreechart/

3/10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek

(http://panamahitek.files.wordpress.com/2013/03/netbeans10.png)

(http://panamahitek.files.wordpress.com/2013/03/netbeans11.png)
Podemos cambiar la orientacin del grfico modificando el ChartFactory.

(http://panamahitek.files.wordpress.com/2013/03/netbeans12.png)

http://panamahitek.com/graficando-en-java-con-jfreechart/

4/10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek

(http://panamahitek.files.wordpress.com/2013/03/netbeans13.png)
Ahora probaremos agregando datos de otro negocio. Para ello modificamos el DataSet.

1
2
3
4
5
6
7

Datos.addValue(2, "Negocio 2", "Lunes");


Datos.addValue(4, "Negocio 2", "Martes");
Datos.addValue(6, "Negocio 2", "Mircoles");
Datos.addValue(8, "Negocio 2", "Jueves");
Datos.addValue(10, "Negocio 2", "Viernes");
Datos.addValue(12, "Negocio 2", "Sbado");
Datos.addValue(14, "Negocio 2", "Domingo");

El resultado ser el siguiente:

(http://panamahitek.files.wordpress.com/2013/03/netbeans14.png)

(http://panamahitek.files.wordpress.com/2013/03/netbeans15.png)
Como vemos, es muy fcil hacer grficas con JFreeChart.
Podemos cambiar el tipo de grfico:

http://panamahitek.com/graficando-en-java-con-jfreechart/

5/10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek

(http://panamahitek.files.wordpress.com/2013/03/netbeans16.png)
Solo basta con escoger un tipo de grfico en la lista de opciones disponibles, establecer los parmetros y listo.
Espero sus comentarios. Saludos.
Anuncios Google

Charts Java

Java 3

A Java

New Java

Te gust? Comparte!

(http://www.linkedin.com/shareArticle?mini=true&url=http://panamahitek.com/graficando-

en-java-con-jfreechart/)

(http://www.facebook.com/sharer.php?u=http://panamahitek.com/graficando-en-java-con-

jfreechart/)

(http://twitter.com/share?url=http://panamahitek.com/graficando-en-java-con-

jfreechart/&text=Graficando+en+Java+con+JFreeChart+)

(mailto:?subject=Graficando en Java con

JFreeChart&body=%20http://panamahitek.com/graficando-en-java-con-jfreechart/)

(http://reddit.com/submit?

url=http://panamahitek.com/graficando-en-java-con-jfreechart/&title=Graficando en Java con JFreeChart)


(http://www.tumblr.com/share/link?url=http://panamahitek.com/graficando-en-java-con-jfreechart/)
(https://plus.google.com/share?url=http://panamahitek.com/graficando-en-java-con-jfreechart/)
(https://bufferapp.com/add?url=http://panamahitek.com/graficando-en-java-con-jfreechart/&text= Graficando en Java
con JFreeChart)
Relacionado

(http://panamahitek.com/graficas-de-sensores-en-

(http://panamahitek.com/que-es-maven-y-para-que-

(http://panamahitek.com/medidor-dual-de-

tiempo-real-con-arduino-java-y-jfreechart/)

se-utiliza/)

humedadtemperatura-con-jfreecharts/)

Grficas de sensores en tiempo real con Arduino,


Java y JFreeChart (http://panamahitek.com/graficasde-sensores-en-tiempo-real-con-arduino-java-yjfreechart/)
En "Arduino+Java"

Qu es Maven y para qu se utiliza?


(http://panamahitek.com/que-es-maven-y-para-quese-utiliza/)
En "Java"

Medidor Dual de Humedad/Temperatura con


JFreeCharts (http://panamahitek.com/medidor-dualde-humedadtemperatura-con-jfreecharts/)
En "Tutoriales Arduino+Java"

POSTED UNDER

JAVA (HTTP://PANAMAHITEK.COM/CATEGORY/PROGRAMACION/JAVA-PROGRAMACION/)

PRINCIPIANTES (HTTP://PANAMAHITEK.COM/CATEGORY/JAVA/JAVA-PARA-PRINCIPIANTES/)
JAVA/)
TAGGED
JAVA/)

JAVA (HTTP://PANAMAHITEK.COM/CATEGORY/JAVA/)

JAVA PARA

LIBRERAS PARA JAVA (HTTP://PANAMAHITEK.COM/CATEGORY/JAVA/LIBRERIAS-PARA-

TUTORIALES JAVA (HTTP://PANAMAHITEK.COM/CATEGORY/JAVA/TUTORIALES-JAVA/)


GRAFICAS CON JFREECHART (HTTP://PANAMAHITEK.COM/TAG/GRAFICAS-CON-JFREECHART/)
JAVA (HTTP://PANAMAHITEK.COM/TAG/JAVA/)

(HTTP://PANAMAHITEK.COM/TAG/JFREECHART/)

Gestin de errores en Java (http://panamahitek.com/gestion-deerrores-en-java/)

Panama Hitek

Recomendar 1

JFREECHART

NETBEANS (HTTP://PANAMAHITEK.COM/TAG/NETBEANS/)

Abreviaturas utilizadas en Netbeans utilizando la tecla TAB


(http://panamahitek.com/abreviaturas-utilizadas-en-netbeansutilizando-la-tecla-tab/)

10 Comments

GRAFICAS EN JAVA (HTTP://PANAMAHITEK.COM/TAG/GRAFICAS-EN-

JAVA EN PANAM (HTTP://PANAMAHITEK.COM/TAG/JAVA-EN-PANAMA/)

Share

Login

Ordenar por los mejores

nete a la discusin...
Mat Ten 6 months ago

hola buen dia increibles todos tus aportes gracias por tu tiempo pero estoy buscando la libreria jcommons y namas no la encuentro saludos desde
mexico

Reply Share
Antony Garca Gonzlez

Mod > Mat Ten

6 months ago

Usa Maven

Reply Share
Alberto a year ago

buen da, como puedo hacer para que al hacer clic sobre una barra, me deribe mas informacin sobre ese detalle en otra pantalla?, gracias.

Reply Share
Juan Carlos 3 years ago

Hola, una buena gua rpida para aprender a implementar la librera. Tengo una duda, Es posible grficar no en una nueva ventana sino sobre el mismo
JFrame donde se encuentra el botn? Es decir si se puede obtener varios grficos sobre un mismo JFrame ordenadamente?

Reply Share
antony.garcia.gonzalez@gmail.c > Juan Carlos 3 years ago

Si es posible. En la parte donde se introduce en una nueva ventana se puede cambiar la sentencia para que se introduzca en un panel

Reply Share

http://panamahitek.com/graficando-en-java-con-jfreechart/

6/10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek

Reply Share
Jose Luis 3 years ago

muy bueno muchas gracias por el aporte!!

Reply Share
antonygarciagonzalez > Jose Luis 3 years ago

A la orden

Reply Share
marcela 3 years ago

GRACIAS.. me sirvio mucho


cortico pero sustancioso.. jjejejeje

Reply Share
Daniel Rico 3 years ago

Buenisimo gracias ;)

Reply Share
antonygarciagonzalez > Daniel Rico 3 years ago

Gracias por los buenos comentarios amigo

Reply Share

ALSO ON PANAMA HITEK

Punteros: Serial Arduino Parte III

El arte de escoger un buen transistor

2 comments 8 months ago

3 comments a year ago

Gustavo Circelli Hola, disculpas por no responder a tiempo, recin hoy

llega a mi correo el aviso de comentario: Lo que

luis entiendo,pero cuando trabaja como amplificador mientras no

supere ese valor no debera haber problemas

Arduino + Processing: Parte I (Comandos Bsicos)

Arduino+Java: LED de frecuencia variable con Java Threads

1 comment 9 months ago

1 comment 2 years ago

PanamaHitek Muy buen artculo! Recomendado para los que estn

GMO Hola buen dia, estoy teniendo problemas al importar algunos

iniciando en Processing. Enhorabuena Carlos.

comando, ya que no se logra apreciar bien el comando que va,

Subscribe d Aade Disqus a tu sitio w eb Add Disqus Aadir

Privacidad

PROYECTO FEDORA

(http://getfedora.org/es)

CONTRIBUYE A NUESTRA CAUSA


Con tu contribucin podremos comprar nuevos dispositivos para seguir publicando nuestros conocimientos.

AUTORES DE PANAMA HITEK


Antony Garca Gonzlez (http://panamahitek.com/author/antony-garcia-gonzalezgmail-com/) (184)
Kiara Navarro (http://panamahitek.com/author/kiara-navarro/) (154)
Gustavo Circelli (http://panamahitek.com/author/gustavocircelli/) (12)
Jaime Rodrigo (http://panamahitek.com/author/jaime-rodrigo/) (7)
Jos Villalaz (http://panamahitek.com/author/josevillalaz/) (6)
Javier Brathwaite (http://panamahitek.com/author/jbrathwaite/) (5)
Ricardo Montenegro (http://panamahitek.com/author/ricardomontenegro/) (4)
Edwin De Leon (http://panamahitek.com/author/edwindeleon/) (4)
Flix Toms Gonzlez (http://panamahitek.com/author/felixgonzalez/) (2)
Carlos Rodrguez (http://panamahitek.com/author/carlosrodriguez/) (2)

SGUENOS EN FACEBOOK

Panama Hitek
2310 Me gusta

Me gusta esta pgina

Com partir

S el primero de tus amigos en indicar que


le gusta esto.

Panama Hitek con Javier


Zhang y Antony Garca
Gonzlez.
17 horas

Junto a Javier Zhang, miembro de


Panama Hitek, en el programa radia
Agenda Ciudadana en la emisora
Radio Mia. Gracias al Dr. Vctor
Lpez por el apoyo

http://panamahitek.com/graficando-en-java-con-jfreechart/

7/10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek

CANAL DE YOUTUBE

Gr cas en tiempo real con MySQL y CanvasJS

(https://www.youtube.com/watch?v=B6PKEQrAJoE)

(https://www.youtube.com/watch?v=6ODZBcyFAP4)

(https://www.youtube.com/watch?v=cHuV0AQ7ud8)

(https://www.youtube.com/watch?v=zV7pe6OKFm0)

(https://www.youtube.com/watch?v=TbwOwFDkP1Y)

(https://www.youtube.com/watch?v=RKegdLypmK4)

(https://www.youtube.com/watch?v=i-et_zirxts)

(https://www.youtube.com/watch?v=dguUM-FRi1o)

http://panamahitek.com/graficando-en-java-con-jfreechart/

8/10

22/9/2016

Graficando en Java con JFreeChart - Panama Hitek

(https://www.youtube.com/watch?v=sc77dn6DwPU)

1/13

Siguiente

Por PoseLab (http://poselab.com)

Anuncios Google

Descargar Java
Java Chart example

Anuncios Google

Programacion en Java
Programadores Java

VIST ANOS! !
Mantente en contacto a travs de nuestras redes sociales.
Vistanos aqu tambin.

(https://www.youtube.com/channel/UCOrMOPkLxjToXj0k1bziRew)

(https://www.facebook.com/PanamaHitek)
(https://twitter.com/PanamaHitek)
(https://github.com/PanamaHitek)
(https://www.youtube.com/channel/UCOrMOPkLxjToXj0k1bziRew)
(https://panamahitek.com/feed/)
Panamahitek 2013 - 2016 Todos los Derechos Reservados.

Esta web usa cookies para mejorar la experiencia de usuario Ver ms (http://panamahitek.com/politicas-de-cookies/)

http://panamahitek.com/graficando-en-java-con-jfreechart/

Entiendo

9/10

22/9/2016

http://panamahitek.com/graficando-en-java-con-jfreechart/

Graficando en Java con JFreeChart - Panama Hitek

10/10

Das könnte Ihnen auch gefallen