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] Afficher les valeurs dans la légende


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Frac10
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par défaut [JFreeChart] Afficher les valeurs dans la légende
    Bonjour tout le monde !

    Alors voilà mon problème est le suivant : je crée un "Camembert 3D" avec un PiePlot3D et un PieDataset ; tout se passe bien, mais j'aimerai afficher les valeurs du camembert dans la légende du bas ou bien sur la légende du graphique.

    J'ai regardé un peu sur le forum et sur internet, mais je n'ai rien trouvé (mis à part le setLegendLabelGenerator, mais çà n'a rien donné )...

    Est-ce que quelqu'un sait comment faire pour afficher les valeurs ailleurs que sur les ToolTip ?

    Merci d'avance !!!

  2. #2
    Membre confirmé Avatar de Frac10
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par défaut
    Pour une meilleure explication, voici 2 captures...

    Ce que je voudrai obtenir :
    Avec les valeurs dans la légende

    Et ce que j'obtiens réellement :
    Sans les valeurs dans la légende

    Donc voilà, je pense pas que çà soit si compliqué, puisque à peu près tous les exemples montrent une capture avec les valeurs dans la légende, mais je n'ai pas encore trouvé...

  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
    Ce que je trouve bizarre c'est qu'en regardant les exemples du jar de demo de JFreeChart, l'affichage des valeurs dans la légende et dans les ToolTips semble être l'option par défaut.
    Je suis donc surprise que tu n'obtiennes pas cet affichage.

    Quelle version de JFreeChart utilises-tu ?

    Sinon, pour afficher les valeurs dans la légende et pas dans les ToolTips, avec la version 1.0.0, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    piePlot3D.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}"));
    Si ça ne fonctionne pas alors montre-nous ce que tu as codé.

  4. #4
    Membre confirmé Avatar de Frac10
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par défaut
    Tout d'abord, merci pour ta réponse !

    J'utilise la version 1.0.2 de JFreeChart et j'ai essayé ce que tu m'as conseillé et çà ne change rien...
    C'est bizarre, j'ai carrément repris l'exemple présent à cette adresse : http://www.java2s.com/Code/Java/Char...art3DDemo1.htm , et çà ne m'affiche pas les valeurs dans la légende ni sur les ToolTips (uniquement sur ceux qui apparaissent quand on passe la souris) alors que sur leur capture d'écran, çà semble fonctionner...

    Bref, voilà le code (qui n'affiche pas les valeurs chez moi...) :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    /* ===========================================================
     * JFreeChart : a free chart library for the Java(tm) platform
     * ===========================================================
     *
     * (C) Copyright 2000-2004, by Object Refinery Limited and Contributors.
     *
     * Project Info:  http://www.jfree.org/jfreechart/index.html
     *
     * This library is free software; you can redistribute it and/or modify it under the terms
     * of the GNU Lesser General Public License as published by the Free Software Foundation;
     * either version 2.1 of the License, or (at your option) any later version.
     *
     * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
     * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     * See the GNU Lesser General Public License for more details.
     *
     * You should have received a copy of the GNU Lesser General Public License along with this
     * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
     * Boston, MA 02111-1307, USA.
     *
     * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
     * in the United States and other countries.]
     *
     * --------------------
     * PieChart3DDemo1.java
     * --------------------
     * (C) Copyright 2002-2004, by Object Refinery Limited and Contributors.
     *
     * Original Author:  David Gilbert (for Object Refinery Limited);
     * Contributor(s):   -;
     *
     * $Id: PieChart3DDemo1.java,v 1.8 2004/04/26 19:12:00 taqua Exp $
     *
     * Changes
     * -------
     * 19-Jun-2002 : Version 1 (DG);
     * 31-Jul-2002 : Updated with changes to Pie3DPlot class (DG);
     * 11-Oct-2002 : Fixed errors reported by Checkstyle (DG);
     * 23-Dec-2003 : Renamed Pie3DChartDemo1 --> PieChart3DDemo1 (DG);
     *
     */
     
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartPanel;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.plot.PiePlot3D;
    import org.jfree.data.general.DefaultPieDataset;
    import org.jfree.data.general.PieDataset;
    import org.jfree.ui.ApplicationFrame;
    import org.jfree.ui.RefineryUtilities;
    import org.jfree.util.Rotation;
     
    /**
     * A simple demonstration application showing how to create a pie chart using data from a
     * {@link DefaultPieDataset}.
     *
     */
    public class PieChart3DDemo1 extends ApplicationFrame {
     
        /**
         * Creates a new demo.
         *
         * @param title  the frame title.
         */
        public PieChart3DDemo1(final String title) {
     
            super(title);
     
            // create a dataset...
            final PieDataset dataset = createSampleDataset();
     
            // create the chart...
            final JFreeChart chart = createChart(dataset);
     
            // add the chart to a panel...
            final ChartPanel chartPanel = new ChartPanel(chart);
            chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
            setContentPane(chartPanel);
     
        }
     
        /**
         * Creates a sample dataset for the demo.
         *
         * @return A sample dataset.
         */
        private PieDataset createSampleDataset() {
     
            final DefaultPieDataset result = new DefaultPieDataset();
            result.setValue("Java", new Double(43.2));
            result.setValue("Visual Basic", new Double(10.0));
            result.setValue("C/C++", new Double(17.5));
            result.setValue("PHP", new Double(32.5));
            result.setValue("Perl", new Double(1.0));
            return result;
     
        }
     
        // ****************************************************************************
        // * JFREECHART DEVELOPER GUIDE                                               *
        // * The JFreeChart Developer Guide, written by David Gilbert, is available   *
        // * to purchase from Object Refinery Limited:                                *
        // *                                                                          *
        // * http://www.object-refinery.com/jfreechart/guide.html                     *
        // *                                                                          *
        // * Sales are used to provide funding for the JFreeChart project - please    *
        // * support us so that we can continue developing free software.             *
        // ****************************************************************************
     
        /**
         * Creates a sample chart.
         *
         * @param dataset  the dataset.
         *
         * @return A chart.
         */
        private JFreeChart createChart(final PieDataset dataset) {
     
            final JFreeChart chart = ChartFactory.createPieChart3D(
                "Pie Chart 3D Demo 1",  // chart title
                dataset,                // data
                true,                   // include legend
                true,
                false
            );
     
            final PiePlot3D plot = (PiePlot3D) chart.getPlot();
            plot.setStartAngle(290);
            plot.setDirection(Rotation.CLOCKWISE);
            plot.setForegroundAlpha(0.5f);
            plot.setNoDataMessage("No data to display");
            return chart;
     
        }
     
        /**
         * Starting point for the demonstration application.
         *
         * @param args  ignored.
         */
        public static void main(final String[] args) {
     
            final PieChart3DDemo1 demo = new PieChart3DDemo1("Pie Chart 3D Demo 1");
            demo.pack();
            RefineryUtilities.centerFrameOnScreen(demo);
            demo.setVisible(true);
     
        }
     
    }
    Si c'est par défaut, çà devrait marcher avec cet exemple tout simple, non ?

  5. #5
    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
    Je viens de tester le code que tu as posté sans rien y ajouter et ça affiche bien les valeurs dans la légende et les ToolTips.

    Sinon, j'ai fait ces tests-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Valeurs dans la légende mais pas dans les ToolTips
    piePlot3D.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}"));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Valeurs dans les ToolTips mais pas dans la légende
    piePlot3D.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}")) ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Valeurs dans les ToolTips et dans la légende
    piePlot3D.setLegendLabelToolTipGenerator(new StandardPieSectionLabelGenerator("{0}"));
    Bref, je ne comprends pas pourquoi ça ne fonctionne pas chez toi.

  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
    J'ai même trouvé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    piePlot3D.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1} ({2})"));
    ça affichera dans chaque ToolTip le label de la série, la valeur et le %.

    Soit par exemple :
    Visual Basic=10 (10%)
    {0} représente le label de la série
    {1} représente la valeur de la série
    {2} représente le pourcentage

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

Discussions similaires

  1. [WD17] Combo qui affiche les valeurs dans une liste
    Par ameura1 dans le forum WinDev
    Réponses: 7
    Dernier message: 02/09/2014, 10h11
  2. Réponses: 1
    Dernier message: 17/02/2011, 22h03
  3. Réponses: 0
    Dernier message: 03/05/2010, 14h55
  4. Réponses: 4
    Dernier message: 18/08/2009, 17h37
  5. [JFreeChart] Afficher les valeurs dans la légende
    Par gifffftane dans le forum 2D
    Réponses: 2
    Dernier message: 09/04/2009, 18h05

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