Bonjour,

Je travaille sur la visualisation de courbes dans le temps (en résumé y=f(t)) et j'utilise la bibliothèque jfreechart qui me semble tout-à fait adéquate. Toutefois il semble que pour ajouter des valeurs à une XYSeries il n'y ait pas d'autre issue que d'y ajouter les valeurs (en t et en y) une par une avec la méthode add().
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
 
package temp;
 
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import java.util.List;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.StandardXYItemRenderer;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
 
public class recorder extends JFrame {
    int number=0;
 
    public recorder(int number, List time, List values) {    
        this.number=number;
        XYSeries series = new XYSeries(String.valueOf(number));
 
        // ce sont les 4 lignes suivantes qui ralentissent tout
        int n_value=time.size();
        for (int i=0;i<n_value;i++){
            series.add((double)time.get(i),(double)values.get(i));
        }
        // et que je voudrais remplacer par une "simple" affectation
 
        XYSeriesCollection dataset = new XYSeriesCollection(series);
        JFreeChart chart = ChartFactory.createXYLineChart("value","t","y",dataset,PlotOrientation.VERTICAL,true,true,false); 
        XYPlot plot = chart.getXYPlot();
        StandardXYItemRenderer renderer = new StandardXYItemRenderer();
        renderer.setSeriesPaint(0, Color.BLACK);
        plot.setRenderer(renderer);
        plot.setBackgroundPaint(Color.white);
        plot.setRangeGridlinesVisible(false);
        plot.setDomainGridlinesVisible(false);
 
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(600, 400));
        chartPanel.setBackground(Color.white);
        setContentPane(chartPanel);
        pack();
        setTitle("recorder"+String.valueOf(number));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
Est-ce que quelqu'un connait une méthode permettant de passer directement le contenu d'une Liste, ArrayList ou tableau à un XYSeries s'il vous plait ? Sinon si quelqu'un connait une autre librairie java encore plus simple et aussi rapide je suis preneur.

Bien à Vous !