IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Problème d'affichage de plusieurs courbes avec JFreechart


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Par défaut Problème d'affichage de plusieurs courbes avec JFreechart
    Bonjour,
    j'ai une classe qui prend des données d'une base de données puis trace une courbe....
    Bon ma fonction marche nickel quand je trace une seule courbe, sauf que je dois tracer plusieurs courbes sur le meme graphe...
    les fonction de mes courbes sont : (colonne,temps)
    Evidemment ma base est constitué d'une colonne temps et de plusieurs autres colonnes..
    Voici le code de ma classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     
    public class dnstrace extends ApplicationFrame {
    	private static final long serialVersionUID = 1L;
     
     
    	public dnstrace(String title) {
    		super(title);
     
    	}
     
    	public JFreeChart tracercourbe (String Hour, String min, String moy ,String max,String table,String where) throws SQLException, IOException {
        	connexionBD con = new connexionBD();
        	ResultSet rs = con.execute("select "+Hour+","+min+","+moy+","+max+" from "+table+" where (date=left("+where+",10)) order by heure;");
        	final TimeSeries series = new TimeSeries("Minute", Minute.class);
        	final TimeSeries series1 = new TimeSeries("Minute", Minute.class);
        	final TimeSeries series2 = new TimeSeries("Minute", Minute.class);
     
        	while(rs.next()){
     
        	   	Timestamp v1;
     
        			v1 = rs.getTimestamp(Hour);
     
        	 	double v2=rs.getDouble(min);
        		double v3=rs.getDouble(moy);
        		double v4=rs.getDouble(max);
     
        		series.addOrUpdate( new Second(v1), v2);
        		series1.addOrUpdate( new Second(v1), v3);
        		series2.addOrUpdate( new Second(v1), v4);
     
        	 }
        	 rs.close();
     
     
            final TimeSeriesCollection dataset = new TimeSeriesCollection(series);
            dataset.addSeries(series);
            dataset.addSeries(series1);
            dataset.addSeries(series2);
            dataset.setDomainIsPointsInTime(true);
            final String chartTitle = "Variation du temps des requetes Dns";
            final JFreeChart chart = ChartFactory.createTimeSeriesChart(
                chartTitle,
                "Time", 
                "Query Time",
                dataset,
                true,
                true,
                false
            );
     
     
     
     
            final ChartPanel chartPanel = new ChartPanel(chart);
            chartPanel.setPreferredSize(new java.awt.Dimension(700, 300));
            chartPanel.setMouseZoomable(true, false);
            setContentPane(chartPanel);
    		return chart;
     
        }
     
     
     
    }
    Ceci le code de ma servlet qui l'affiche dans ma JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    package metier;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.sql.Date;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Timestamp;
    import java.util.Enumeration;
     
    import javax.imageio.ImageIO;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartUtilities;
    import org.jfree.chart.JFreeChart;
    import org.jfree.data.time.Minute;
    import org.jfree.data.time.Second;
    import org.jfree.data.time.TimeSeries;
    import org.jfree.data.time.TimeSeriesCollection;
     
    import com.sun.corba.se.impl.orbutil.graph.Graph;
     
    import marouene.TimeSeriesDemoTest;
    import marouene.dnstrace;
     
     
    public class dnscourbe extends HttpServlet {
    	protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
     
    		response.setContentType("image/png");
    		dnstrace dns = new marouene.dnstrace("Dns");
    		 dns.pack();
     
     
     
     JFreeChart imagechart;
    try {
    	imagechart = dns.tracercourbe("heure","min","moy","max","dnstable","now()");
    	 OutputStream out = response.getOutputStream(); 
    	 ChartUtilities.writeChartAsPNG(out, imagechart, 700, 500);	
     
     
    } catch (SQLException e) {
    	e.printStackTrace();
    }
     
    	}
     
    	 protected void doGet(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException {
     processRequest(request, response);
    }
     
    	}
    voici un extrait de ma courbe


    Comme vous voyez les courbes vertes et bleu sont décalé en haut et ils ne sont pas visibles ><

  2. #2
    Membre chevronné
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Par défaut
    Personne n'a eu ce genre de probleme de decalage?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/06/2007, 14h54
  2. Problème d'affichage d'une image avec Glade.
    Par tistri dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 21/04/2007, 18h56
  3. courbes avec JfreeChart
    Par noussa_nouha dans le forum 2D
    Réponses: 7
    Dernier message: 11/08/2006, 11h38
  4. [GD] Problème d'affichage d'une image avec gd2
    Par turini dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo