style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Duda con JFreeChart

Hola que tal! Estoy desarrollando una aplicación y dentro de esa aplicación necesito generar una gráfica, había decidido usar JFreeChart para generar las gráficas, hasta el momento había estado leyendo y comprendiendo los ejemplos y algunos tutoriales que hay, el problema que me crea es, que si genero 3 datos, me genera 3 graficas (por un ejemplo) no sé porqué me hace eso, si fueran tan amables de sacarme de mi enorme duda, se los agradeceria demasiado. El código va más o menos así:

XYSeries dGraficar = new XYSeries("Titulo");
XYSeriesCollection dataset = new XYSeriesCollection();
dGraficar.add(1,2);
dGraficar.add(3,4);
dGraficar.add(5,6);
dataset.addSeries(dGraficar);
JFreeChart grafico = ChartFactory.createXYLineChart("titulo1", "titulo2", "titulo3", dataset, PlotOrientation.VERTICAL, true, true, false);
ChartPanel panel = new ChartPanel(grafico);
JFrame ventana = new JFrame("El grafico");
ventana.getContentPane().add(panel);
ventana.pack();
ventana.setVisible(true);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

No sé si estoy siendo reduntante en algún momento del código o porque me hace eso, según yo, pues no le estoy agregando nada extra o algo. De antemano mil gracias.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

Haber prueba asi!

XYSeries dGraficar = new XYSeries("Titulo");
dGraficar.add(1,2);
dGraficar.add(3,4);
dGraficar.add(5,6);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(dGraficar);
JFreeChart grafico = ChartFactory.createXYLineChart("titulo1", "titulo2", "titulo3", dataset, PlotOrientation.VERTICAL, true, true, false);
ChartPanel panel = new ChartPanel(grafico);
JFrame ventana = new JFrame("El grafico");
ventana.getContentPane().add(panel);
ventana.pack();
ventana.setVisible(true);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Imagen de Iris

Primero: gracias por tomarte

Primero: gracias por tomarte la molestia.

Ya lo cheque de la forma que lo escribes, que a mi ver, solo cambias de lugar en donde se crea el dataset, pero sigue igual U_U, me sigue creando más de una gráfica. Buuuh!, seguiré checando o buscando alguna otra forma. Igual si alguien más tiene alguna idea, lo seguiré agradeciendo =).

Imagen de JaimeItlzc

JFreeChart

import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import java.awt.image.*;

public class JavaMexico extends java.awt.Frame {

    BufferedImage grafica = null;

    public JavaMexico() {
        initComponents();
    }

    private void initComponents() {

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        pack();
    }

    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }

    public static void main(String args[]) {

        JavaMexico miventana = new JavaMexico();
        miventana.setSize(400,400);
        miventana.show();
    }

    public BufferedImage creaImagen()
    {
        XYSeries dGraficar = new XYSeries("Titulo");
            dGraficar.add(1,2);
            dGraficar.add(3,4);
            dGraficar.add(5,6);
        XYSeriesCollection dataset = new XYSeriesCollection(dGraficar);
        JFreeChart grafico = ChartFactory.createLineXYChart
        ("Titulo 1",
        "Titulo 2","Titulo 3",dataset,PlotOrientation.VERTICAL,
        false,
        false,
        true                
        );

         BufferedImage image = grafico.createBufferedImage(300,300);
         return image;
    }

    public void paint(java.awt.Graphics g) {
        if(grafica == null)
        {
            grafica = this.creaImagen();
        }
        g.drawImage(grafica,30,30,null);
    }

}

Buen código

Sólo una pequeña sugerencia: puedes documentar el código y dar una pequeña descripción del programa

Saludos!

Imagen de Iris

Código de más =P

Las gráficas es sólo una parte extra del programa, por eso no me quería complicar tanto la vida haciendo desde cero las gráficas. Y apenas estoy comenzando la aplicación. En sí la aplicación lee un archivo con una serie de muestras captadas por una antena, en un observatorio, las muestras captadas son las que se grafican, y el objetivo de la aplicación es que posteriormente diferencie las señales que recibe y las catalogue según la intensidad y algunos otros parámetros. No se me hizo importante poner el otro código, en sí sólo abro el archivo, leo los datos lo almaceno en un array y de ahí lo mando graficar, pero pues inicialmente me graficaba como 200 graficas, jeje, simplifique el código, porque es en esa parte la que no me trabaja como quiero. Y también para no confundir mucho en cuanto a mi duda o consulta.

Gracias por intersarte =)

Imagen de Iris

Otro prueba

Ok, de nuevo mil gracias.

Ya lo había intentado almacenandolo en una imagen, pero veo que lo haces por medio del Graphics, yo lo habia intentado tratandolo de poner en un JLabel. Trataré de acomodar este código a ver si ahora si funciona.

Muchas gracias =)

Imagen de JaimeItlzc

Esta bien o mal?

Esta bien o mal?
@Iris te puedo ayudar en alguna otra cosa? , Te sirvio en algo @Iris el codigo que te puse?.
@Carraro claro que si ahora que tenga tiempo con gusto publico ese mismo codigo de ejemplo que puse y te lo documento con gusto, es un placer para ami, perdon si aveces pongo las respuestas muy cortas o simples es solo que aveces ando corto de tiempo.

Saludos.

Imagen de Iris

Mil gracias

Muchas gracias Jaime, si me ayudo el código que hiciste favor de publicar, el problema ya fue resuelto. El "problema" en mi código es que le asignaba los datos al dataset por medio del .add y es como lo hiciste en tu código, gracias a eso me di cuenta de mi error y ya quedo resuelto el problema.

Muchisisimas gracias por tu tiempo!! Es una excelente página de ayuda y un excelente foro gracias a personas como tú. Mil gracias.

Imagen de JaimeItlzc

De nada iris

De nada iris para eso estamos aqui, me da gusto que te aya servido.

Saludos.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">