Salut les gars !
J'ai un problème pour mettre à jour un plot via le menu du plot lui-même.
Je m'explique.
J'ai une applet qui m'affiche un plot (JFreeChart)
Une fois fait, clic droit, j'ai accès au menu du plot auquel j'ai rajouté une option "Back to original data" pour retrouver les données initiales après avoir fait un zoom par exemple.
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 TimeSeries ts = new TimeSeries(titreGraphe); if(arrayValDateX != null){ for (int i=0; i<arrayValDateX.size(); i++) { ts.addOrUpdate(new Millisecond(arrayValDateX.get(i)), (Double)arrayValParamY.get(i)); } }else{ //TODO //throw new SolexaGraphException("pointSeries was null : you should frist call the plotGraphDrawer.setSegmentSeriesFromFile(String fileAbsolutePath()"); } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(ts); chart = ChartFactory.createTimeSeriesChart( titreGraphe, "Time", parameterName, dataset, false, true, false ); plot = chart.getXYPlot();
Le problème c'est que l'affichage ne suit pas ... une fois le zoom fait, il ne revient pas à mon plot d'origine ... manque t'il quelque chose pour redessiner le plot avec les nouvelles données ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if (e.getActionCommand().equals("Back to original data")) { if(drawGraph.getTimeListSimply() != null){ for (int i=0; i<drawGraph.getTimeListSimply().size(); i++) { sReset.addOrUpdate(new Millisecond(arrayValDateX.get(i)), (Double)arrayValParamY.get(i)); } } TimeSeriesCollection datasetReset = new TimeSeriesCollection(); datasetReset.addSeries(sReset); plot.setDataset(datasetReset); }
Merci !
Partager