Bonjour
je viens de cree une courbe qui évolues au cours du temps 'chaque seconde'
mais mon probleme c'est que j'essaye de faire plusieurs series, et pas qu'une seul
avec une seul courbe sa marche nickel mais quand je passe a plusieurs courbes .....
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
 
public static TimeSeries  []donnees;
    public static String [] nomTransaction;
 
    public void grapheDynamique(int ageMax){
        m.getJPanelGraphe1(new BorderLayout() );
        this. donnees =new TimeSeries[this.donnees.length];
        for (int i=0;i<donnees.length;i++){
            this.donnees[i]=new TimeSeries(this.nomTransaction[i], Millisecond.class);
            this.donnees[i].setMaximumItemAge(ageMax);
        }
 
        TimeSeriesCollection dataset=new TimeSeriesCollection();
        for (int i=0;i<donnees.length;i++)
        dataset.addSeries(donnees[i]);
 
        DateAxis domain = new DateAxis("Time");
        NumberAxis range = new NumberAxis("Nombre Transaction");
        domain.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 12));
        range.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 12));
        domain.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
        range.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
 
        XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
        renderer.setSeriesPaint(0, Color.red);
        renderer.setSeriesPaint(1, Color.green);
        renderer.setStroke(new BasicStroke(3f, BasicStroke.CAP_BUTT,
        BasicStroke.JOIN_BEVEL));
 
        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));
        domain.setAutoRange(true);
        domain.setLowerMargin(0.0);
        domain.setUpperMargin(0.0);
        domain.setTickLabelsVisible(true);
        range.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
 
        JFreeChart chart = new JFreeChart("Nombre de transactions / seconde",
        new Font("SansSerif", Font.BOLD, 14), plot, true);
        chart.setBackgroundPaint(Color.white);
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setBorder(BorderFactory.createCompoundBorder(
        BorderFactory.createEmptyBorder(4, 4, 4, 4),
        BorderFactory.createLineBorder(Color.black)));
        m.getJPanelGraphe1(null).add(chartPanel);
    }
 
    public static void addTotalObservation(int []y,String []nt) {
        for (int i=0;i<y.length;i++){
        donnees[i].add(new Millisecond(), y[i]);
        nomTransaction[i]=nt [i];
        System.out.println(nomTransaction[i]);
        System.out.println(donnees[i]);
        }
        }
merci d'avance