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] récupérer les coordonnées d'un point en cliquant sur le graphique


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Points
    24
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 24
    Par défaut [JFreeChart] récupérer les coordonnées d'un point en cliquant sur le graphique
    Bonjour à tous,

    J'utilise JFreeChart et je cherche à récupérer les coordonnées d'un point du graphique sur lequel l'utilisateur a cliqué. Dans l'évènement MouseEvent, on ne récupère que les coordonnées en pixels. Or j'aurais besoin d'obtenir les coordonnées du point dans l'unité définie sur les axes du graphique.

    Quelqu'un aurait-il une piste à me proposer pour m'aider à résoudre ce problème ?

    Merci par avance pour vos réponses.

  2. #2
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    61
    Points
    44
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 44
    Par défaut
    il faut utiliser la fonction Java2DToValue au niveau des axes pour avoir à partir de tes coordonnées en pixel (java2D) avoir la valeur sur le graphique.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Rectangle2D dataArea = chartPanel.getScreenDataArea();
    double xPointGraph = chartPanel.getChart().getXYPlot().getDomainAxis().java2DToValue(xPoint, dataArea, chartPanel.getChart().getXYPlot().getDomainAxisEdge());
    double yPointGraph = chartPanel.getChart().getXYPlot().getRangeAxis().java2DToValue(yPoint, dataArea, chartPanel.getChart().getXYPlot().getRangeAxisEdge());

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Points
    24
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 24
    Par défaut
    Merci beaucoup pour ton aide, c'est exactement ce dont j'avais besoin !
    Cela fonctionne très bien pour les "y", mais par contre en "x" ça me renvoie toujours la même valeur(2,147483647E9). Je précise que mon graphique est un TimeSeriesChart. Je suppose qu'il y a une astuce pour manipuler les dates, mais pour l'instant je ne vois pas laquelle ...
    Une idée ?

  4. #4
    Membre régulier

    Inscrit en
    Octobre 2006
    Messages
    30
    Points
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 30
    Points : 86
    Par défaut
    Pour ta date elle semble etre en secondes depuis 01/01/1970.

    Moi je cherche a récupérer la valeur en y lorsque j'ai une valeur donnée de x. Si quelqu'un à l'info.

    Par exemple un XYLineChart avec deux point 0,0 et 10,10, je veux pouvoir dire: donnes moi la valeur de y a x=5 (dans ce cas simple y=5).

    ++

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/05/2012, 12h52
  2. Réponses: 1
    Dernier message: 15/12/2010, 15h54
  3. Récupérer les coordonnées d'un point 3D
    Par johnnyjohnny dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/05/2007, 16h16
  4. [GRAPHIQUE] Récupérer les coordonnées d'un point
    Par freud dans le forum Composants VCL
    Réponses: 6
    Dernier message: 29/09/2005, 13h31

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