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] Affichage valeur du point LineChart et BarChart3D


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Par défaut [JFreeChart] Affichage valeur du point LineChart et BarChart3D
    Bonjour,

    j'aurais voulu savoir s'il est possible d'afficher, au dessus de chaque point d'un line chart et / ou d'un BarChart3D la valeur correspondant à ce point.
    Je verrais bien un petit JLabel, indiquant la valeur, mais je ne sais pas si c'est faisable. Quelqu'un aurait une idée ?
    Ca m'arrangerait bien, pour l'instant j'affiche cette valeur dans la légende, mais c'est pas joli joli.


    Merci d'avance

    Cordialement

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Par défaut
    J'ai résolu à moitié mon problème en ajoutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CategoryItemRenderer rend = plot.getRenderer();
    rend.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    rend.setItemLabelsVisible(true);
    Deux problèmes subsistent :
    - ces méthodes sont deprecated, je vais esasyer de trouver mieux
    - Dans un BarChart3D, j'ai la facheuse impresison que quand les valeurs sont trop grandes, il decide .. de ne pas les afficher. Problématique !

    Toute aide est donc toujours la bienvenue

  3. #3
    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
    Pour ajouter les valeurs au-dessus du BarChart3D, essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CategoryPlot categoryPlot = chart.getCategoryPlot();
     
    BarRenderer3D renderer= (BarRenderer3D) categoryPlot.getRenderer() ;
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelFont(new Font("SansSerif", Font.BOLD, 10));
    renderer.setItemLabelAnchorOffset(10D);
    renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
    et pour le LineChart, ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CategoryPlot categoryPlot = chart.getCategoryPlot() ;
     
    LineAndShapeRenderer renderer= (LineAndShapeRenderer) categoryPlot.getRenderer();
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelFont(new Font("SansSerif", Font.BOLD, 10));

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Par défaut
    Parfait c'est exactement ce que je voulais !
    Je dois honteusement avouer que j'ai copié sans tout comprendre a 100%, mais ca marche.
    Il n'y a que setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT)); qui est deprecated, mais je crois que je m'en contenterai largement.
    Merci encore !

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Par défaut
    Remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));

    permet d'éviter l'utilisation de la méthode setPositiveItemLabelPosition qui est deprecated, et semble donner le même résultat.

  6. #6
    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
    On ne doit pas utiliser la même version de JFreeChart parce que chez moi, cette méthode n'est pas deprecated.

  7. #7
    Invité de passage
    Inscrit en
    Septembre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 1
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Pour ajouter les valeurs au-dessus du BarChart3D, essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CategoryPlot categoryPlot = chart.getCategoryPlot();
     
    BarRenderer3D renderer= (BarRenderer3D) categoryPlot.getRenderer() ;
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelFont(new Font("SansSerif", Font.BOLD, 10));
    renderer.setItemLabelAnchorOffset(10D);
    renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
    et pour le LineChart, ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CategoryPlot categoryPlot = chart.getCategoryPlot() ;
     
    LineAndShapeRenderer renderer= (LineAndShapeRenderer) categoryPlot.getRenderer();
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelFont(new Font("SansSerif", Font.BOLD, 10));
    Bonjour,
    merci pour ce poste, ca m' été tres utile!
    une question tout de meme!
    est ce qu'on peut exclure les points de valeur "0", par exemple ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/01/2008, 20h24
  2. Requete affichage valeurs diferentes d'un champs
    Par joxbl dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/11/2005, 15h27
  3. []probleme affichage valeur dans combobox
    Par gup dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/09/2005, 09h22
  4. [C#] Affichage aleatoire de points ....!?
    Par christophebmx dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/01/2005, 15h13
  5. affichage valeur d'un Slider
    Par djiwalloo dans le forum MFC
    Réponses: 4
    Dernier message: 24/11/2004, 10h28

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