[Java] JFreeChart : ChartPanel
Résolu
Bonjour,
J'ai découvert JFreeChart depuis peut (Hier :D) et j'ai un peut de mal à l'utiliser.
Au début je créé mon graphique, tout marche bien :
Ensuite, en appuyant sur un bouton "OK" je récupère des valeurs, et j'aimerai les ajoutés à mon graphique. La méthode ci-dessous permet de le faire.
A la base il faut utilise le "series.add" mais j'avoue ne pas trop savoir comment faire dans mon ActionPerformed.
Merci de votre aide,
Cordialement,
J'ai découvert JFreeChart depuis peut (Hier :D) et j'ai un peut de mal à l'utiliser.
Au début je créé mon graphique, tout marche bien :
IntervalXYDataset dataset = createDataset(); JFreeChart chart = createChart(dataset); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(700, 270)); c2.fill = GridBagConstraints.HORIZONTAL; c2.gridx = 0; c2.gridy = 0; c2.insets = new Insets(25,50,5,25); peast.add(chartPanel, c2);
Ensuite, en appuyant sur un bouton "OK" je récupère des valeurs, et j'aimerai les ajoutés à mon graphique. La méthode ci-dessous permet de le faire.
private IntervalXYDataset createDataset() {
final XYSeries series = new XYSeries("Charge");
series.add(0, 2917000);
final XYSeriesCollection dataset = new XYSeriesCollection(series);
return dataset;
}
A la base il faut utilise le "series.add" mais j'avoue ne pas trop savoir comment faire dans mon ActionPerformed.
Merci de votre aide,
Cordialement,
6 réponses
-
series.remove(0); =)
-
Je ne vois pas comment raffraichir le graphique (Ou plutot supprimer les anciennes valeurs)
-
Dans mon action performed je fait ceci (J'ai deux graphiques et je récupère les informations d'une base de donnée). Quand j'appuie sur le bouton, le graphique ce crée bien, mais quand j'essaie de le faire à nouveau, des fois ça marche et d'autre fois non, c'est complètement aléatoire...
while(res.next()){ input[i] = res.getInt(7); output[i] = res.getInt(8); series.add(x, input[i]); series2.add(x, output[i]); i++; x = x+5; } -
Personne ? :(
-
Le series.add(0, 2917000) marche. Le seul problème c'est que je ne sais pas comment faire pour qu'il marche dans un ActionPerformed :s
-
bonjour,
Si je me rappel bien (parce que j'ai utilisé ça y a un bout de temps)
series prends une liste de valeur et non pas un couple comme tu fais je pense qu'elle prend un tableau.
ou bien tu met tes valeurs dans data et tu affecte data a series
j'ai oublié la syntaxe exacte mais je te tiendrai au courant des que je jetterai un coup d'oeil sur le code
Voilà