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 :

[JFreeChart] Multi-courbes sur axe XY


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 15
    Par défaut [JFreeChart] Multi-courbes sur axe XY
    Salut tous le monde !

    Sur http://cosmofoot.fr j'utilise JFreeChart pour faire des courbes, en particulier les courbes (pleines) sur axe XY.
    Exemple :


    VOyez sur cet exemple que les courbes n'ont pas le même nombre de valeurs sur l'axe des X.
    Je me retrouve alors avec des courbes plus petites que d'autres. (elles sont calés sur l'échelle de la plus grande).

    Y a t'il une methode qui permette de dire que chacune des courbes utilise sa proche échelle sur l'axe des X ? Ou une méthode pour demander d'utiliser toute la largeur ?


    voici le bout de code simplifié qui produit le graph plus haut.
    Sachant que sizeLigue et sizePalm n'ont donc pas la même valeur (ce qui explique qu'une courbe soit plus petite qu'une autre)

    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
    for(int j=0;j<sizeLigue;j++) {
                     dataset.addValue( ((Integer)positionsLigue.get(j)).intValue(), "Ligue" , ""+j);
    }
    for(int j=0;j<sizePalm;j++) {
                    dataset.addValue( ((Integer)positionsPalm.get(j)).intValue(), "Palmares", ""+j);
    }
    
    [...]
    
    JFreeChart chart = ChartFactory.createLineChart(null,null,null, dataset,PlotOrientation.VERTICAL,true,false,false);
    
    final DrawingSupplier supplier = new DefaultDrawingSupplier(new Paint[] { ChartColor.magenta, Color.green,  new Color(0,128,255), Color.yellow },			            DefaultDrawingSupplier.DEFAULT_PAINT_SEQUENCE,
                                 DefaultDrawingSupplier.DEFAULT_OUTLINE_PAINT_SEQUENCE,
                                 DefaultDrawingSupplier.DEFAULT_STROKE_SEQUENCE,
                                 DefaultDrawingSupplier.DEFAULT_OUTLINE_STROKE_SEQUENCE,
                                 DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE  );
    
    CategoryPlot plot = chart.getCategoryPlot();
    plot.setDrawingSupplier(supplier);
    plot.getRangeAxis().setLowerBound(1.0D);
    Merci merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut
    Que représente l'axe des X dans ton graphique ?
    Le temps non ?
    Si c'est le cas utilise les timeSeries.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 15
    Par défaut
    merci.
    Désolé pour le temps de réponse.

    Oui, c'est bien des échelles de temps (qui sont différentes selon les courbes).
    Je vois comment je peux m'en sortir avec les TimeSeries, en ramenant chaque courbe à la même échelle. Merci.

    N'y aurait-il aucun moyen de préciser directement, sur le code du 1er message, que les courbes ont un axe des X indépendants ?

Discussions similaires

  1. TChart - PB Label Multi-line sur Axe X
    Par laetus dans le forum C++Builder
    Réponses: 0
    Dernier message: 14/09/2009, 09h52
  2. Tracer courbes sur un axes précis
    Par telecofr dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 08/02/2008, 15h02
  3. Réponses: 4
    Dernier message: 19/12/2007, 10h19
  4. Réponses: 2
    Dernier message: 29/08/2007, 15h15
  5. Réponses: 1
    Dernier message: 08/11/2006, 14h32

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