IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

[JChart] Tracer une courbe de dimension 2


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 301
    Par défaut [JChart] Tracer une courbe de dimension 2
    Bonjour,

    je voudrais savoir s'il est possible de donner une courbe de la forme y = ax2 + bx + c avec (a,b,c) connu à JChart et qu'il la trace

    Merci pour votre aide

  2. #2
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Par défaut
    Oui, je ne sais pas si c'est la meilleure des solutions, mais tu peux essayer quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    final XYSeries serie = new XYSeries("blabla");
    for (int i = 0; i < 100; i++) {
        x = i / 10;
        y = a * x * x + b * x + c;
        serie.add(x, y);
    }
     
    final XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(serie);
    Tu auras ta courbe entre 0 et 10.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 301
    Par défaut
    Merci pour ta réponse

    J'ai testé ton code avec ce code JChart pour tracer la courbe :
    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
     
    DataSeries dataSeries = new DataSeries( xAxisLabels, xAxisTitle, yAxisTitle, title );
    Paint[] paints= TestDataGenerator.getRandomPaints( 1 );
    Stroke[] strokes= { LineChartProperties.DEFAULT_LINE_STROKE };			
    LineChartProperties lineChartProperties= new LineChartProperties( strokes, shapes );
     
    AxisChartDataSet axisChartDataSet= new AxisChartDataSet( data, legendLabels, paints, ChartType.LINE, lineChartProperties );
    dataSeries.addIAxisPlotDataSet( axisChartDataSet );
    ChartProperties chartProperties= new ChartProperties();
     
    AxisProperties axisProperties= new AxisProperties();
    DataAxisProperties dataAxisProperties= (DataAxisProperties) axisProperties.getYAxisProperties();
    dataAxisProperties.setUserDefinedScale( init, scale );
    dataAxisProperties.setNumItems(nbr);
     
    LegendProperties legendProperties= new LegendProperties();
    AxisChart axisChart= new AxisChart( dataSeries, chartProperties, axisProperties, legendProperties, 500, 300);
    return axisChart;
    et cela fonctionne parfaitement

    par contre j'ai encore deux petits problèmes.

    1) Ma courbe s'affiche d'une couleur différente à chaque fois, comment faire pour fixer la couleur ?
    2) est-il possible de modifier la graduation de l'axe des abscisses comme je l'ai fais pour l'axe des ordonnés ?

    Merci d'avance pour votre aide

  4. #4
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Par défaut
    Ta courbe change de couleur a chaque fois à cause de ceci non ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Paint[] paints= TestDataGenerator.getRandomPaints( 1 );
    Pour ma part, j'utilise la méthode setSeriesPaint, appliquée à mon renderer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    final XYPlot plot = (XYPlot) chart.getPlot();
    final XYSplineRenderer renderer = new XYSplineRenderer(50); // permet de lisser la courbe
    final Color[] listColor = {Color.red, Color.green, Color.blue, Color.black};
    for (int i = 0; i < dataset.getSeriesCount(); i++) {
        renderer.setSeriesPaint(i, listColor[i % listColor.length]);
    }
    plot.setRenderer(renderer);
    Pour la graduation des abscisses, c'est possible, par contre je ne m'en suis pas encore servi

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/09/2014, 23h08
  2. Réponses: 2
    Dernier message: 04/08/2011, 09h58
  3. Tracer une courbe avec 2 tableau de points
    Par babarpapa dans le forum 2D
    Réponses: 3
    Dernier message: 19/04/2006, 15h24
  4. [Images] [Librairie] Tracer une courbe ???
    Par cedre22 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 20/02/2006, 14h53
  5. Tracer une courbe théorique sur un TChart
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/09/2005, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo