Problème de génération de courbe avec JFreeChart

Résolu
ahmedmahdibenjemaa Messages postés 19 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 14 mai 2013 - 26 déc. 2011 à 18:07
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 27 déc. 2011 à 08:03
bojours,

j'ai créé une application java pour m'afficher les courbes avec JFreeChart. j'ai suivi son tutoriels a la lettre, mais a l’exécution , il m'a toujours une erreur et je n'ai pas réussit a la résoudre.
est ce que quelqu'un peux m'aider svp??
merci d'avance :)


voila le code source du main :
import java.awt.Color;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
 
 
import org.jfree.data.*;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;


public class main {


public static void tracerCourbe(NEWTON n,XYSeries courbe)
{
double y,i=n.getMin();
        
        
        while(i<n.getMax())
        {
            
            courbe.add(i, n.resultatPolynome(0,i,0));
            i=i+0.0000001;
        }
}
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
double res;
NEWTON n5 = new NEWTON(-5,5);
n5.chercherPointEquidistant(5);
n5.calculeTableau();
XYSeries c5= new XYSeries("courbe1");

tracerCourbe(n5,c5);


XYSeriesCollection Dataset = new XYSeriesCollection();

Dataset.addSeries(c5);

JFreeChart Graph = ChartFactory.createXYLineChart(
"Grape de NEWTON",
"Axe des Abscices",
"Axe des Ordonnées",
Dataset,
PlotOrientation.VERTICAL,
true,
true,
false);
    Color gris = new Color(200,200,200);
    Graph.setBackgroundPaint(gris);
    
    
    //create and display a frame...
    ChartFrame frame=new ChartFrame("First",Graph);
    frame.pack();
    frame.setVisible(true);

}




}



et voila l'erreur généré:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at org.jfree.data.xy.XYSeries.add(XYSeries.java:412)
at main.tracerCourbe(main.java:31)
at main.main(main.java:46)



merci encore

4 réponses

ahmedmahdibenjemaa Messages postés 19 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 14 mai 2013
26 déc. 2011 à 18:58
j'ai résolu le problème en faite il fallait réduire le nombre de point a calculer sinon ça dépasse la mémoire merci :)


résolution:
changer la ligne:
i=i+0.0000001;

par:
i=i+0.001;
3
ahmedmahdibenjemaa Messages postés 19 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 14 mai 2013
26 déc. 2011 à 18:15
désolé j'ai oublié de vous précisez les ligne:
la ligne 31 est:
courbe.add(i, n.resultatPolynome(0,i,0));


et la ligne 46 est:
tracerCourbe(n5,c5);



sachant que toutes les classe marche parfaitement et n.resultatPolynome(0,i,0) retourne un double;



désolé encore et encore merci d'avoir pris la peine de lire :)
0
profiter Messages postés 211 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 8
26 déc. 2011 à 21:54
bonjour
j'ai voulu tester ton code puisque j'ai deja dans un programme la librairie jfreechart mais alors NEWTON n'est pas reconnu
alors si tu peux donner nous le code de cette objet pour voir ce que va dessiner

merci
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 366
27 déc. 2011 à 08:03
Salut profiter,

Déjà, vu le nom de la classe (NEWTON), tout en majuscule, il n'est pas étonnant que ce ne soit pas un objet de la librairie JFreeChart.

C'est certainement une classe qu'il a lui même créé
0