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] Gérer l'état du zoom initial


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut [JFreeChart] Gérer l'état du zoom initial
    bonjour,
    je réalise une applet qui trace des graphiques en utilisant la bibliotheque JFREECHART qui gére le zoom.
    L'echelle adoptée automatiquement ne me convenait pas, en effet je voulais que l'axe des ordonnées ne debute pas à 0, j'ai donc utiliser la méthode suivante pour definir le minimum et le maximum de l'axe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot.getRangeAxis(0).setRange(minValue,maxValue);
    Le problème c'est que l'echelle automatique proposée par JFREECHART me ramène à l'ancienne echelle (non corrigée par le code ci-dessus).
    Je voudrais donc savoir comment corriger ca, est ce qu'il faut intervenir sur le code du zoom JFREECHART? et si oui comment y accéder?
    merci.

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Normalement, le code suivant devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot.getRangeAxis(0).setRange(minValue,maxValue);
    Je viens de faire le test sur un TimeSeriesChart et ça le prend bien en compte.
    Sur quel type de graphe as-tu ce problème ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    salut
    ca marche bien chez moi aussi, seulement le probleme c'est que quand tu zoom sur un endroit quelconque du graphe et qu'ensuite tu veux revenir à l'etat initial du zoom tu utilises: clik droit-->echelle automatique-->les 2 axes, ce qui te ramenà un graphique dont l'axe des ordonnées commence à 0.
    il faudrait lorsque tu fais ca, que le bout de code precedemment cité se réexecute pour adapter l'echelle à nouveau.

    PS: le type du graphe est "candlestick" (chandeliers et bougie)

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Désolée, en fait, je n'avais pas bien compris quel était ton problème.
    Maintenant, c'est beaucoup plus clair.
    Par contre, je ne connais pas la solution, si toutefois il y en a une.

    J'ai vu que dans la méthode setRange de NumberAxis, on pouvait désactiver l'auto-range :
    public void setRange(Range range,boolean turnOffAutoRange,boolean notify)
    Sets the range for the axis, if requested, sends an AxisChangeEvent to all registered listeners. As a side-effect, the auto-range flag is set to false (optional).

    Parameters:
    range - the range (null not permitted).
    turnOffAutoRange - a flag that controls whether or not the auto range is turned off.
    notify - a flag that controls whether or not listeners are notified.
    J'ai essayé mais ça ne donne rien.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    ok merci quand meme c_nvy.
    Je pense qu'il faut intervenir sur le code de Jfreechart.
    n'hesitez pas si vous avez des idées.

  6. #6
    Membre habitué

    Inscrit en
    Juillet 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 13
    Par défaut
    Chez moi ça marche comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CategoryPlot categoryplot = this.getCategoryPlot(); //this = StackedBarChart
    categoryplot.getRangeAxis(0).setAutoRange(false);
    categoryplot.getRangeAxis(0).setRange(minValue, maxValue);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/08/2008, 17h36
  2. [autozoom] Revenir au zoom initial
    Par LordPeterPan2 dans le forum MATLAB
    Réponses: 2
    Dernier message: 31/07/2008, 10h40
  3. [JFreechart] gérer espace entre series
    Par franfr57 dans le forum 2D
    Réponses: 2
    Dernier message: 11/06/2008, 11h19
  4. [ODBC] Gérer l'état de machines
    Par mohamed_ali dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 12/04/2007, 10h21
  5. [SVG] Conserver état du zoom lors du reload
    Par m@t dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 01/03/2006, 18h08

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