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
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
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; } }
voici un extrait de ma courbe
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); } }
Comme vous voyez les courbes vertes et bleu sont décalé en haut et ils ne sont pas visibles ><
Partager