RSS

Gráficas con Java parte 1

05 Jun

Descargando la biblioteca ………………..

Primero es necesario descargar la biblioteca para gráficos con java llamada JFreeChart

http://sourceforge.net/projects/jfreechart/files/

Se deben descargar la biblioteca y la documentación.

Crear un directorio “lib” donde deben extraer la biblioteca y el directorio donde se encuentra la documentación.

Agregando la biblioteca en NetBeans …………………………….

Agregar la Biblioteca con “Add Library“, crear una nueva y agregar los jars contenidos en el directorio jfreechart-1.0.14/lib

 

Al terminar deben aparecer los jars necesarios para utilizar la biblioteca de gráficos en la sección de bibliotecas en NetBeans

Agregando la documentación de la biblioteca ………………………..

Hacer click derecho en jfreechart-1.0.14 y elegir la opción Edit

En la ventana “Customize library” ir a la pestaña “Javadoc” y dar click en “Add ZIP/Folder” y seleccionar el directorio que descargamos de documentación
llamado jfrechart-1.0.14-javadocs y click en OK

Dar click derecho sobre jfreechart-1.0.14.jar y seleccionar Show javadoc para ver la documentación

Ejemplo de gráfica con JFreeChart ………………….

Crear una clase llamada “GraficaPie” que extienda  ala clase JFrame del paquete javax.swing

Incluir el siguiente código en el constructor de la clase:

public GraficaPie(String appTitulo, String grafTitulo) {
        super(appTitulo);
        // Datos
        PieDataset datos = creaDatos();
        // crea la grafica basada en los datos y con un título
        JFreeChart chart = creaGrafica(datos, grafTitulo);
        // Agregamos a un panel
        ChartPanel panel = new ChartPanel(chart);
        // Tamaño
        panel.setPreferredSize(new java.awt.Dimension(800, 500));
        // Agrega el panel a la aplicación
        setContentPane(panel);
    }

Para crear los datos crea el siguiente método:

private  PieDataset creaDatos() {
        DefaultPieDataset datos = new DefaultPieDataset();
        datos.setValue("Física", 1);
        datos.setValue("Computación", 96);
        datos.setValue("Matemáticas", 1);
        datos.setValue("Biología", 1);
        datos.setValue("Actuaría", 1);
        return datos;   
    }

Para crear la gráfica crea el siguiente método:

private JFreeChart creaGrafica(PieDataset datos, String titulo) {
       
        JFreeChart grafica = ChartFactory.createPieChart3D(
            titulo, datos, true, false, false);

        PiePlot3D plot = (PiePlot3D) grafica.getPlot();
        plot.setStartAngle(290);
        plot.setDirection(Rotation.CLOCKWISE);
        plot.setForegroundAlpha(0.5f);
        return grafica;       
    }

Crea una clase extra que contenga un método main y agrega el siguiente código para generar una
gráfica de pastel en 3D:

GraficaPie demo = new GraficaPie("Aplicación de prueba de JFreeCHart",
                "Carreras en la Facultad de Ciencias");
demo.pack();
demo.setVisible(true);

La gráfica se muestra de la siguiente manera:

EJERCICIO: Poner una imagen de fondo a la gráfica.

Crear una gráfica de una función …………………

Crea una clase llamada FuncionSenoX, y crea el siguiente constructor:

public FuncionSenoX(String appTitulo) {
        super(appTitulo);
        XYDataset datos = creaDatos();
        JFreeChart diagrama = creaGrafica(datos);
        ChartPanel panel = new ChartPanel(diagrama);
        panel.setPreferredSize(new Dimension(500, 400));
        setContentPane(panel);
    }

Crea el método creaDatos de la siguiente manera:

private XYDataset creaDatos() {
        XYSeries datos = new XYSeries("Datos");
        for (double x = 0.0; x <= 50.0; x += 0.2) {
            datos.add(x, f(x));
        }

        XYSeriesCollection conjuntoDatos = new XYSeriesCollection();
        conjuntoDatos.addSeries(datos);

        return conjuntoDatos;
    }

Crea el método creaGrafica de la siguiente manera:

private JFreeChart creaGrafica(XYDataset datos) {
        JFreeChart diag = ChartFactory.createXYLineChart(
                "Gráfica", "Eje X", "Eje Y", datos,
                PlotOrientation.VERTICAL, false, false,
                false);
        return diag;
    }

Agrega la función que se desea graficar:

    private double f(double x) {
        return Math.sin(x);
    }

Crea una clase extra que contenga un método main y agrega el siguiente código para generar una
gráfica de la función:

FuncionSenoX grafica = new FuncionSenoX("Gráfica f(x) = sen x");
        grafica.pack();
        RefineryUtilities.centerFrameOnScreen(grafica);
        grafica.setVisible(true);

La gráfica se muestra de la siguiente manera:

 

 

 

 

 

 

 

 

 

 

 
Deja un comentario

Publicado por en 5 junio, 2012 en Código, Java

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: