Como Hacer Graficos con Java – Pastel, Barras, Lineas, 3D …

Como Hacer Graficos con Java – Pastel, Barras, Lineas, 3D …

Todos los que programamos Aplicaciones de Escritorio nos topamos con la necesidad de Realizar Graficos de cierta Informacion ( casi siempre de hecho 😉 ), en esta ocacion veremos como hacer graficos con Java utilizando la libreria JFreeChart ( para mi la mejor 😀 ) Con JFreeChart podremos hacer Graficos de todo tipos, colores, sabores, planos y en 3d.. vaya que JFreeChart te permite hacer casi de todo 😀 daremos un vistazo a lo basico, que es JFreeChart.. Descargar e Instalar.. como Utilizarla en tus Aplicaciones.. Algunos Ejemplos de Graficos de Barras, pastel, Lineas, 3D.. y bueno vamos ya al Tutorial.

Requerimientos

  • JFreeChart (Pagina Oficial)
  • Descarga de JFreeChart

JFreeChart

JFreeChart es una libreria/extension Gratuita para el lenguaje de Programacion Java la cual te permite utilizar Graficos de todo tipo y de gran calidad en tus Proyectos. En resumen te permite poner Graficos de barras, Graficos de Lineas o Graficos de Pastel ( y de mas tipos 😉 ) en tus Aplicaciones Java 😀

Como Hacer Graficos con Java 1Como Hacer Graficos con Java 2Como Hacer Graficos con Java 3

Ehh sigues sin convencerte? 🙁 mira mas ejemplos de lo que puedes hacer con JFreeChart aqui samples

Como Utilizar JFreeChart en tus Aplicaciones ?

Descarga JFreeChart y la libreria JCommon que es tambien necesaria ( link arriba en Requerimientos ) y agregalas a tu proyecto.


¿Sabías que?

¿Necesitas aprender algo nuevo ? Ve a Udemy, busca el tema del que quieres aprender, selecciona el curso para ti y continua con tu aprendizaje.

Udemy

Como Hacer Graficos con Java 4

Para Comenzar veremos un Ejemplo Facil de como crearte un Grafico rapido en un ChartFrame que es una ventana propia para mostrar los Graficos, luego veremos mas a detalle como elegir el tipo de grafico y como mostrarlo en otro tipo de componente que nos resulte mas facil como por ejemplo un panel, por lo mientras nos servira para analizar lo basico de JFreeChart..


public class Main {
    public static void main(String args[]){
        // Fuente de Datos
        DefaultPieDataset data = new DefaultPieDataset();
        data.setValue("C", 40);
        data.setValue("Java", 45);
        data.setValue("Python", 15);

        // Creando el Grafico
        JFreeChart chart = ChartFactory.createPieChart(
         "Ejemplo Rapido de Grafico en un ChartFrame", 
         data, 
         true, 
         true, 
         false);

        // Mostrar Grafico
        ChartFrame frame = new ChartFrame("JFreeChart", chart);
        frame.pack();
        frame.setVisible(true);
    }
}

Que al ejecutarlo nos muestra esto 😀

Como Hacer Graficos con Java 5

Ahora vamos a analizar el codigo basico necesario para mostrar un grafico con JFree Chart, tenemos 3 pasos fundamentales..

  • Establecer una Fuente de Datos
  • Todos los Graficos necesitan leer la Informacion de un lugar para dibujarse. ( incluso una base de datos 😉 )

  • Crear el Grafico
  • Aqui llamaremos a la clase ChartFactory que se encargara de crear el grafico por ti 😀

  • Mostrar Grafico
  • Aqui puede variar como lo muestras, ya sea en su ChartFrame, ChartPanel..

    Para mostrar la misma grafica pero en ahora en un Panel propio en lugar de un ChartFrame el codigo seria

    
    public class Ventana extends JFrame{
        JPanel panel;
        public Ventana(){
            setTitle("Como Hacer Graficos con Java");
            setSize(800,600);
            setLocationRelativeTo(null);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setVisible(true);
            init();
        }
    
        private void init() {
            panel = new JPanel();
            getContentPane().add(panel);
            // Fuente de Datos
            DefaultPieDataset data = new DefaultPieDataset();
            data.setValue("C", 40);
            data.setValue("Java", 45);
            data.setValue("Python", 15);
    
            // Creando el Grafico
            JFreeChart chart = ChartFactory.createPieChart(
             "Ejemplo Rapido de Grafico en un ChartFrame", 
             data, 
             true, 
             true, 
             false);
    
            // Crear el Panel del Grafico con ChartPanel
            ChartPanel chartPanel = new ChartPanel(chart);
            panel.add(chartPanel);
        }
        
        public static void main(String args[]){
            new Ventana().setVisible(true);
        }
    }
    

    y el resultado es el mismo 😉 ahora veamos que otros tipos de graficos podemos hacer con JFreeChart 😀

    Tipos, Sabores, Colores, Planos y en 3D..

    Vamos a crearnos un grafico de barras 3d de colores y lo pondremos en un JPanel, veamos al codigo

    
    public class Ventana extends JFrame{
        JPanel panel;
        public Ventana(){
            setTitle("Como Hacer Graficos con Java");
            setSize(800,600);
            setLocationRelativeTo(null);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setVisible(true);
            init();
        }
    
        private void init() {
            panel = new JPanel();
            getContentPane().add(panel);
            // Fuente de Datos
            DefaultCategoryDataset dataset = new DefaultCategoryDataset();
            dataset.setValue(8, "Mujeres", "Lunes");
            dataset.setValue(7, "Hombres", "Lunes");
            dataset.setValue(9, "Mujeres", "Martes");
            dataset.setValue(4, "Hombres", "Martes");
            dataset.setValue(4, "Mujeres", "Miercoles");
            dataset.setValue(5, "Hombres", "Miercoles");
            dataset.setValue(8, "Mujeres", "Jueves");
            dataset.setValue(9, "Hombres", "Jueves");
            dataset.setValue(7, "Mujeres", "Viernes");
            dataset.setValue(8, "Hombres", "Viernes");
            // Creando el Grafico
            JFreeChart chart = ChartFactory.createBarChart3D
            ("Participacion por Genero","Genero", "Dias", 
            dataset, PlotOrientation.VERTICAL, true,true, false);
            chart.setBackgroundPaint(Color.cyan);
            chart.getTitle().setPaint(Color.black); 
            CategoryPlot p = chart.getCategoryPlot(); 
            p.setRangeGridlinePaint(Color.red); 
            // Mostrar Grafico
            ChartPanel chartPanel = new ChartPanel(chart);
            panel.add(chartPanel);
        }
        
        public static void main(String args[]){
            new Ventana().setVisible(true);
        }
    }
    

    y lucira asi 😀

    Como Hacer Graficos con Java 6

    Ahora crearemos un Grafico de Pastel en 3d en un Panel, veamos el codigo..

    
    public class Ventana extends JFrame{
        JPanel panel;
        public Ventana(){
            setTitle("Como Hacer Graficos con Java");
            setSize(800,600);
            setLocationRelativeTo(null);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setVisible(true);
            init();
        }
    
        private void init() {
            panel = new JPanel();
            getContentPane().add(panel);
            // Fuente de Datos
            DefaultPieDataset defaultpiedataset = new DefaultPieDataset(); 
            defaultpiedataset.setValue("Programacion", new Double(41.200000000000003D)); 
            defaultpiedataset.setValue("Electronica", new Double(11D)); 
            defaultpiedataset.setValue("Hacking", new Double(19.5D)); 
            defaultpiedataset.setValue("SEO", new Double(30.5D)); 
            defaultpiedataset.setValue("Redes", new Double(2.0D)); 
    
            // Creando el Grafico
            JFreeChart chart = ChartFactory.createPieChart3D("Tematicas Blog", defaultpiedataset, true, true, false); 
            PiePlot3D pieplot3d = (PiePlot3D)chart.getPlot(); 
            pieplot3d.setDepthFactor(0.5); 
            pieplot3d.setStartAngle(290D); 
            pieplot3d.setDirection(Rotation.CLOCKWISE); 
            pieplot3d.setForegroundAlpha(0.5F); 
            
            // Mostrar Grafico
            ChartPanel chartPanel = new ChartPanel(chart);
            panel.add(chartPanel);
        }
        
        public static void main(String args[]){
            new Ventana().setVisible(true);
        }
    }
    

    y el resultado sera el siguiente

    Como Hacer Graficos con Java 7

    Para realizar un Grafico de Lineas puedes ver el Siguiente Codigo..

    
    public class Ventana extends JFrame{
        JPanel panel;
        public Ventana(){
            setTitle("Como Hacer Graficos con Java");
            setSize(800,600);
            setLocationRelativeTo(null);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setVisible(true);
            init();
        }
    
        private void init() {
            panel = new JPanel();
            getContentPane().add(panel);
            // Fuente de Datos
            DefaultCategoryDataset line_chart_dataset = new DefaultCategoryDataset();
            line_chart_dataset.addValue(80, "visitas", "Julio");
            line_chart_dataset.addValue(300, "visitas", "Agosto");
            line_chart_dataset.addValue(600, "visitas", "Septiembre");
            line_chart_dataset.addValue(1200, "visitas", "Octubre"); 
            line_chart_dataset.addValue(2400, "visitas", "Noviembre");   
    
            // Creando el Grafico
            JFreeChart chart=ChartFactory.createLineChart("Trafico en el Blog",
                    "Mes","Visitas",line_chart_dataset,PlotOrientation.VERTICAL,
                    true,true,false);  
            
            // Mostrar Grafico
            ChartPanel chartPanel = new ChartPanel(chart);
            panel.add(chartPanel);
        }
        
        public static void main(String args[]){
            new Ventana().setVisible(true);
        }
    }
    

    y al ejecutar veras..

    Como Hacer Graficos con Java 8

    y Bueno.. si viste la pagina de samples de la pagina de JFreeChart sabras que puedes hacer decenas de Graficos y por supuesto que no pondre todos 😉 de hecho ya me canse de poner ejemplos y hasta aqui le daremos 😀 puedes darte una vuelta por la Pagina de JFreeChart para ver mas tipos.

    Guardando los Graficos a Disco

    Algo muy util es poder guardar los graficos a tu disco duro sea por la razon que sea, aqui te mostramos como 😉

    
    ChartUtilities.saveChartAsJPEG(new File("grafico.jpg"), chart, 500, 500);
    
    [note]grafico.jpg -> Nombre del Archivo
    chart -> Objeto que contiene el Grafico
    500,500 -> Dimension de la Imagen
    [/note]

    Como Hacer Graficos con Java

    Clic para valorar esta información
    [Total: 2 Promedio: 5]