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 :

rendrers dans JFreeChar


Sujet :

2D Java

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2007
    Messages : 71
    Points : 64
    Points
    64
    Par défaut rendrers dans JFreeChar
    bonsoir
    je suis entrain d'utiliser l API JFreeChar pour faire des histogrammes
    j'ai trois catégorie de résultat chaque catégorie est représenté par 3 barres
    le premier doit etre rouge le deuxième bleu et le troisième vert
    pour cela j'ai fait le code suivant
    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
     
     public BarChar(double data[][],int num_node) {
     
        	this.data=data;
        	this.num_node=num_node;
     
        	this.dataset=DatasetUtilities.createCategoryDataset(Series ,Factor, this.data);
     
     
     
        }
     
        public ChartPanel createChartpanel() {
     
          this.chart = ChartFactory.createBarChart(
                "",         // chart title
                "",                 // domain axis label
                "",                // range axis label
                this.dataset,                    // data
                PlotOrientation.VERTICAL, // orientation
                false,                       // include legend
                true,
                false
            );
     
     
     
     
     
              CategoryPlot plot = chart.getCategoryPlot();
            plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
     
     
             NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
            rangeAxis.setRange(0.0, 100.0);
            rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
         CategoryItemRenderer renderer = new myrender(
                new Paint[] {Color.red, Color.blue, Color.green,
                    Color.red, Color.blue, Color.green,
                    Color.red, Color.blue, Color.green,}
            );
     
             plot.setRenderer(renderer);
                    chartPanel = new ChartPanel(this.chart);
                      chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
                    return chartPanel ;
     
        }
    pour le rendrer
    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
     
     class Myrender extends BarRenderer {
     
     
            private Paint[] colors;
     
     
            public Myrender(final Paint[] colors) {
                this.colors = colors;
            }
     
     
            public Paint getItemPaint(final int row, final int column) {
                return this.colors[column % this.colors.length];
            }
        }
    mais a la fin le résultat est les premier trois bar sont rouge les deuxième sont bleu et les troisième sont vert

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2007
    Messages : 71
    Points : 64
    Points
    64
    Par défaut
    bonjour
    en fin avec un affichage des column et row j'ai trouver la solution
    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
     
     public BarChar(double data[][],int num_node) {
     
        	this.data=data;
        	this.num_node=num_node;
     
        	this.dataset=DatasetUtilities.createCategoryDataset(Series ,Factor, this.data);
     
     
     
        }
     
        public ChartPanel createChartpanel() {
     
          this.chart = ChartFactory.createBarChart(
                "",         // chart title
                "",                 // domain axis label
                "",                // range axis label
                this.dataset,                    // data
                PlotOrientation.VERTICAL, // orientation
                false,                       // include legend
                true,
                false
            );
     
     
     
     
     
              CategoryPlot plot = chart.getCategoryPlot();
            plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
     
     
             NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
            rangeAxis.setRange(0.0, 100.0);
            rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
         CategoryItemRenderer renderer = new myrender(
                new Paint[] {Color.red, Color.blue, Color.green}
     
     
            );
     
             plot.setRenderer(renderer);
                    chartPanel = new ChartPanel(this.chart);
                      chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
                    return chartPanel ;
     
        }
    le rendrer
    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
     
     class Myrender extends BarRenderer {
     
     
            private Paint[] colors;
     
     
            public Myrender(final Paint[] colors) {
                this.colors = colors;
            }
     
     
            public Paint getItemPaint(final int row, final int column) {
                return this.colors[row % this.colors.length];
            }
        }

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

Discussions similaires

  1. DBLookupComboBox dans DBGrid
    Par KThrax dans le forum Bases de données
    Réponses: 7
    Dernier message: 24/08/2004, 15h18
  2. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39
  3. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Documentation DirectX dans C++Builder 3
    Par srvremi dans le forum DirectX
    Réponses: 1
    Dernier message: 26/04/2002, 09h59

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