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] Camembert : Afficher dans labels les valeurs avec le pourcentage?


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Par défaut [JFreeChart] Camembert : Afficher dans labels les valeurs avec le pourcentage?
    bonjour,
    je viens de créer mon premier graphe de type Camembert,et j'ai constaté un petit probléme,priére de m'aider pour le résoudre,
    bon,
    la piéce jointe vous montre l'exemple de mon camembert,
    piéce jointe en bas (image).
    1-je veux afficher dans labels juste les valeurs en pourcentage (ex: 2 %)
    2-La petite boite qui explique le nom de chaque couleur affiché, je veux qu'elle affiche seulement : A ( et non A=O ou B=2 ect ...)

    et voici mon code source si vous voulez le consulter :

    code :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    import java.io.*; 
    import javax.servlet.*; 
    import javax.servlet.http.*; 
    import java.awt.Color;
    import org.jfree.chart.*; 
    import org.jfree.chart.plot.*; 
    import org.jfree.data.category.*;
    import org.jfree.data.category.DefaultCategoryDataset; 
    import org.jfree.chart.labels.PieSectionLabelGenerator;
    import org.jfree.data.general.PieDataset;
    import org.jfree.data.*; 
    import org.jfree.data.general.*;
    import java.util.*;
    public class jfr extends HttpServlet {
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
     
        DefaultPieDataset pieDataset = new DefaultPieDataset(); 	
        for (int i=0;i<table_bdd.length;i++){
    	pieDataset.setValue(table_bdd[i],i);	
        }
     
            JFreeChart pieChart = ChartFactory.createPieChart3D("Répartition des causes de non-conformités", 
          pieDataset, true, true, true); 
           pieChart.setBackgroundPaint(Color.white);
           pieChart.isBorderVisible();
     
           PiePlot3D plot3 = (PiePlot3D) pieChart.getPlot();
           plot3.setForegroundAlpha(0.7f);
           plot3.setNoDataMessage("Aucune données à afficher");
           plot3.setLabelLinksVisible(true); 
     
        OutputStream out = response.getOutputStream(); 
        response.setContentType("image/png"); 
        ChartUtilities.writeChartAsPNG(out, pieChart, 450, 280); 
      }
    }
    qu'est ce que je peux ajouter ?
    Merci d'avance pour vos réponse.
    Images attachées Images attachées  

  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
    1) Pour afficher dans les Tooltips seulement les valeurs en pourcentage, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       plot3.setLabelGenerator(new StandardPieSectionLabelGenerator("{2}"));
    2) Pour afficher dans la légende seulement les labels de la série, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       plot3.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}")) ;
    Pour info, quand on code par exemple ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot3.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1} ({2})"));
    {0} représente les labels de la série.
    {1} représente les valeurs de la série.
    {2} représente les pourcentages.

    l'affichage correspondant à ce code donnerait donc dans les Tooltips :
    A=0 (0%)

  3. #3
    Membre éclairé Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Par défaut
    bonjour,
    merci beaucoup pour ta réponse ,ca marche trés bien.
    maintenant ,je veux déminuer un peu la taille de titre "Répartition des casues .." ( titre de mon camembert) ,aprés les valeurs en pourcentage, que j'affiche sur les labels, je veux qu'elles soient de cette forme ( 75,48 %), car pour l'instant les valeurs sont affichés comme ca (75 %) .

    comme j'avais dis c'est la premiére fois que je manipule les graphe en Java, mais je pense qu'avec votre aide, tout devient possible .

    Merci.

  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
    Pour afficher les pourcentages avec deux décimales, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot3.setLabelGenerator(new StandardPieSectionLabelGenerator("{2}",new DecimalFormat("#0.00"),new DecimalFormat("#0.00%")));
    Pour la taille du titre, tu peux utiliser la classe TextTitle et la classe Font.
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         TextTitle textTitle = jfreeChart.getTitle() ;
         textTitle.setFont(new Font("Arial", Font.BOLD, 15));

  5. #5
    Membre éclairé Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Par défaut
    d'accord ca marche pour les (50,75 %) (grâce à : new DecimalFormat ... )
    bon pour le titre de mon graphe ,peux tu me dire quel package je doit importer? (pour les classes Textetitle et Font)

    Merci.

  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
    org.jfree.chart.title.TextTitle (en JFreeChart 1.0.0) et java.awt.Font.

  7. #7
    Invité de passage
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1
    Par défaut Couleur de cambert
    bonjour je vois que c'est un vieux post mais qu'il y avait des connaisseurs de jfreechart qui y ont participé. moi j'aurais une question j'ai un chart en 3D avec la couleur de camembert par défaut (rouge, bleu, vert) quelqu'un sait comment faire pour personnaliser ces couleurs en effet j'ai juste besoin de deux morceaux de camembert je veux un en noir l'autre en blanc merci pour les réponses

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/01/2012, 09h27
  2. Réponses: 15
    Dernier message: 09/08/2009, 19h56
  3. Réponses: 2
    Dernier message: 28/03/2009, 16h15
  4. Récupérer dans Flash les valeurs d'éléments d'un formulaire
    Par Mafate dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 15/10/2008, 14h57
  5. Réponses: 1
    Dernier message: 03/05/2007, 15h41

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