Bonjour,

J'ai un tableau que j'ai extrait d'une base de données dont voici les valeurs :
+------------+----------+---------+
| date | heure | valeur |
+------------+----------+---------+
| 2012-04-16 | 16:09:50 | 4619.46 |
| 2012-04-16 | 17:10:05 | 3497.93 |
| 2012-04-16 | 18:09:13 | 5862.1 |
| 2012-04-16 | 19:09:21 | 6006.03 |
| 2012-04-16 | 20:09:34 | 5716.41 |
| 2012-04-16 | 21:09:21 | 5537.5 |
| 2012-04-16 | 22:09:53 | 4083.13 |
| 2012-04-16 | 23:09:49 | 4212.54 |
| 2012-04-17 | 00:09:40 | 4387.92 |
| 2012-04-17 | 01:09:54 | 3678.67 |
| 2012-04-17 | 02:09:17 | 5696.32 |
| 2012-04-17 | 03:09:52 | 4484.08 |
| 2012-04-17 | 04:09:37 | 4486.34 |
| 2012-04-17 | 05:10:31 | 4373.79 |
| 2012-04-17 | 06:09:49 | 4461.08 |
| 2012-04-17 | 07:09:08 | 5881.93 |
| 2012-04-17 | 08:08:57 | 5532.78 |
| 2012-04-17 | 09:09:47 | 4213.67 |
| 2012-04-17 | 10:09:14 | 5644.68 |
| 2012-04-17 | 11:09:15 | 5217.59 |
| 2012-04-17 | 12:10:04 | 3678 |
| 2012-04-17 | 13:10:22 | 4086.52 |
| 2012-04-17 | 16:01:29 | 940.421 |
J'ai créé une classe Java qui permet d'afficher la courbe de variation valeur en fontion du temps.

Le but est d'afficher la variation entre le 2012-04-16 à 16h et le 212-04-17 à 17h.

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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package metier;
    import java.awt.Color;
    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.ChartPanel;
    import org.jfree.chart.ChartUtilities;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.axis.DateAxis;
    import org.jfree.chart.axis.NumberAxis;
    import org.jfree.chart.plot.XYPlot;
    import org.jfree.chart.renderer.xy.XYItemRenderer;
    import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
    import org.jfree.chart.title.TextTitle;
    import org.jfree.data.time.Hour;
    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 org.jfree.ui.RectangleInsets;
 
    import com.sun.corba.se.impl.orbutil.graph.Graph;
 
    import marouene.TimeSeriesDemoTest;
    import marouene.compare;
 
    public class httpcompare extends HttpServlet {
       protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
           connexionBD con = new connexionBD();
          response.setContentType("image/png");
 
               ResultSet rs1 = con.execute("select heure,valeur from table1 WHERE STR_TO_DATE(CONCAT(`date`, ' ', heure), '%Y-%m-%d %H:%i:%s') BETWEEN DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 24 HOUR) AND CURRENT_TIMESTAMP;");
               final TimeSeries series1 = new TimeSeries("valeur", Hour.class);
               while(rs1.next()){
 
                  java.sql.Time v1;
 
                     v1 = rs1.getTime("heure");
 
                   double v2=rs1.getFloat("valeur");
 
                   series1.addOrUpdate( new Minute(v1), v2);
                }   
 
          DateAxis domain = new DateAxis("Time");
              NumberAxis range = new NumberAxis("Débit en Kb/s");
            final TimeSeriesCollection dataset = new TimeSeriesCollection(series1);
 
            dataset.setDomainIsPointsInTime(true);
            XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
            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);
 
            XYItemRenderer r = plot.getRenderer();
            if (r instanceof XYLineAndShapeRenderer) {
                XYLineAndShapeRenderer renderer1 = (XYLineAndShapeRenderer) r;
                renderer1.setBaseShapesVisible(true);
                renderer1.setBaseShapesFilled(true);
            }
 
            chart.setTitle(new TextTitle("Comparaison du débit Http"));
 
            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);
 
        }
 
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException {
    try {
       processRequest(request, response);
    } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
    }
    }
 
}
Sauf que là, ma classe au lieu de tracer la variation entre les deux instants souhatés, elle trace une variation entre minuit et minuit de la journée 2012-04-16.

Quelqu'un saurait-il m'explique ce qui ne va pas ?

Merci d'avance pour votre aide.