Bonjour,
j'ai tenté de tracer trois courbes dont les valeurs sont prises d'une base de données dans un meme graphe Time series de Jfreechart, voici mon code :

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
 ResultSet rs = con.execute("select heure,ftp from ftptable where (date=left(now(),10)) order by heure;");   
            ResultSet rs1 = con.execute("select heure,ftp from ftptable2 where (date=left(now(),10)) order by heure;");   
            ResultSet rs2 = con.execute("select heure,ftp from ftptable3 where (date=left(now(),10)) order by heure;");   
            final TimeSeries series = new TimeSeries("Débit  1", Minute.class);
        	final TimeSeries series1 = new TimeSeries("Débit  2", Minute.class);
        	final TimeSeries series2 = new TimeSeries("Débit  2", Minute.class);
            while(rs.next()){
 
            	Timestamp v1;
 
    			v1 = rs.getTimestamp("heure");
 
                 double v2=rs.getDouble("ftp");
 
          		series.addOrUpdate( new Minute(v1), v2);
 
 
             }
            rs.close();
            while(rs1.next()){
 
            	Timestamp v1;
 
    			v1 = rs1.getTimestamp("heure");
 
                  rs1.getDouble("ftp");
          		double v3=rs.getDouble("ftp");
 
 
        		series1.addOrUpdate( new Minute(v1), v3);
 
 
             }
            rs1.close();
            while(rs2.next()){
 
            	Timestamp v1;
 
    			v1 = rs2.getTimestamp("heure");
 
 
          		double v4=rs2.getDouble("ftp");
 
        		series2.addOrUpdate( new Minute(v1), v4);
 
             }
             rs2.close();
             DateAxis domain = new DateAxis("Time");
        	 NumberAxis range = new NumberAxis("Débit en Ko/s");
 
            final TimeSeriesCollection dataset = new TimeSeriesCollection(series);
            dataset.addSeries(series1);
            dataset.addSeries(series2);
            XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
            renderer.setSeriesPaint(0, Color.green);
 
            renderer.setSeriesPaint(2, Color.red);
 
            XYPlot plot = new XYPlot(dataset, domain, range, renderer);
            plot.setBackgroundPaint(Color.lightGray);
            plot.setDomainGridlinePaint(Color.white);
            plot.setRangeGridlinePaint(Color.white);
            plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));
 
            range.setAutoRange(true);
            range.setLowerMargin(0.0);
            range.setUpperMargin(0.0);
            range.setTickLabelsVisible(true);
            range.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
 
            JFreeChart chart = new JFreeChart(plot);
            chart.setTitle(new TextTitle("Comparaison du débit ftp"));
            XYItemRenderer r = plot.getRenderer();
            if (r instanceof XYLineAndShapeRenderer) {
                XYLineAndShapeRenderer renderer1 = (XYLineAndShapeRenderer) r;
                renderer1.setBaseShapesVisible(true);
                renderer1.setBaseShapesFilled(true);
            }
 
 
 
 
 
                 final ChartPanel chartPanel = new ChartPanel(chart);
                 chartPanel.setPreferredSize(new java.awt.Dimension(600, 300));
                 chartPanel.setMouseZoomable(true, false);   
 
                 OutputStream out = response.getOutputStream();
                 ChartUtilities.writeChartAsPNG(out, chart, 700, 500);   
                   request.setAttribute("image",out);
sauf que ca n'a pas marché ... sachant que si je fait une seule requete pour afficher une seule courbe mon code marche à merveille...
Merci