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

Servlets/JSP Java Discussion :

[Jfreechart] Valeur par défaut de l'ordonnée + couleur selon valeur de l'ordonnée


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut [Jfreechart] Valeur par défaut de l'ordonnée + couleur selon valeur de l'ordonnée
    Bonjour,
    J'ai un graphique qui représente une note sur une année, représentée par un histogramme a 12 barres.

    Cette note varie de 0 à 3. Or, si sur toute l'année j'ai 1 au maximum, je me retrouve avec mon ordonnée qui a pour valeur 0 à 1. Est-ce possible de définir la valeur de l'étalonnage soit même? (J'utilise un StackedBarChart)


    Deuxieme question, je voudrais par exemple colorer en rouges les valeurs entre 0 et 1, en bleu les valeurs entre 1 et 2... Tout ceci sans devoir trier par groupe de valeur, dans le but de garder la cohérence des chiffres dans le temps.

    Est-ce possible?

    Merci pour vos réponses.

  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
    Citation Envoyé par keumlebarbare
    Cette note varie de 0 à 3. Or, si sur toute l'année j'ai 1 au maximum, je me retrouve avec mon ordonnée qui a pour valeur 0 à 1. Est-ce possible de définir la valeur de l'étalonnage soit même? (J'utilise un StackedBarChart)
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); 
    rangeAxis.setRange(0,3D) ;

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Parfait pour cette partie!!!
    edit: MERCIIIIIIIII!!!

    Reste la colorisation selon la valeur

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut A optimiser
    Voilà, je suis parvenu à mes fins, mais j'ai de gros soucis d'optimisation.

    Si vous pouvez m'aider à améliorer ce code, cela je pense servirait à un bon nombre de personnes.

    Vu que l'affectation d'une couleur dans jfreechart est dynamique par rapport à l'ordre d'arrivée dans le dataset, et que j'utilise un tableau pour initialiser ce dataset, je me suis dit que j'allais pouvoir définir les couleurs en faisant les tests sur ce tableau, cela donne:

    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
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
     
    		boolean acheter = false;
    		boolean surponderer = false;
    		boolean conserver = false;
    		boolean sousponderer = false;
    		boolean vendre = false;
     
    		Color lightgreen = new Color(148, 239, 148);
    		Color darkgreen = new Color(0,130,0);
    		Color yellow = new Color(255,255,0);
    		Color orange = new Color(255,166,0);
     
    		GradientPaint gp0 = new GradientPaint(
    	    		0.0f, 0.0f, darkgreen,
    	    		0.0f, 0.0f, new Color(0, 130, 0)
    	    		);
     
    	    GradientPaint gp1 = new GradientPaint(
    	    		0.0f, 0.0f, lightgreen,
    	    		0.0f, 0.0f, new Color(148, 239, 148)
    	    		);
     
    	    GradientPaint gp2 = new GradientPaint(
    	    		0.0f, 0.0f, yellow,
    	    		0.0f, 0.0f, new Color(255,255,0)
    	    		);
    	    GradientPaint gp3 = new GradientPaint(
    	    		0.0f, 0.0f, orange,
    	    		0.0f, 0.0f, new Color(255,166,0)
    	    		);
     
    		int nbassigne = 0;
    	    for(int j=0 ; j<tab.length; j++){
    			float note = Float.parseFloat(tab[j][1]);
    			if (( note <=1.30 ) && (acheter == false)){
    				renderer.setSeriesPaint(nbassigne,gp0);
    				nbassigne++;
    				acheter = true;
    			}
    	  		else if ( (note > 1.30) &&(note <=1.75) && (surponderer == false)){
    				renderer.setSeriesPaint(nbassigne,gp1);
    				nbassigne++;
    				surponderer = true;
    			}
    	  		else if ( (note > 1.75) &&(note <=2.25) && (conserver == false)){
    				renderer.setSeriesPaint(nbassigne,gp2);
    				nbassigne++;
    				conserver = true;
    			}
    	  		else if ( (note > 2.25) &&(note <=2.70) && (sousponderer == false)){
    				renderer.setSeriesPaint(nbassigne,gp3);
    				nbassigne++;
    				sousponderer = true;
    			}
    	  		else if( (note > 2.70) &&(note <=3) && (vendre == false)){
    				renderer.setSeriesPaint(nbassigne,Color.red);
    				nbassigne++;
    				vendre = true;
    			}
    }

    Ce code étant somme toute très moche, j'aimerais le rendre plus facile a comprendre et à maintenir.

    Je suis loin d'être assez expérimenté pour le faire

    Merci de votre aide.

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/04/2014, 16h57
  2. [MySQL] select avec valeurs existantes et pré-remplir champs avec ces valeurs par défaut
    Par gzg19 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/04/2010, 17h52
  3. Réponses: 1
    Dernier message: 31/05/2008, 13h00
  4. Réponses: 2
    Dernier message: 18/10/2003, 14h42
  5. Unique + valeur par défaut
    Par ketalie dans le forum Outils
    Réponses: 4
    Dernier message: 02/07/2003, 15h29

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