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

Contribuez Pascal Discussion :

Graphe : les barres empilées


Sujet :

Contribuez Pascal

  1. #1
    Membre éclairé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 680
    Points
    680
    Par défaut Graphe : les barres empilées
    Bonjour à tous.

    La barre empilée est une barre qui représente la somme de plusieurs éléments à la fois.
    Tout élément est caractérisé par un nom et une couleur.
    Dans cet exemple, on va voir comment représenter les ventes de trois articles informatiques:
    Les desktops, les laptops et les imprimantes pour trois années consécutives:2010,2011 et 2012.
    Pour celà en va ajouter:

    1-un chart1 à une fiche.
    On doubleclick sur ce Chart1 et on ajoute un Chart1BarSeries1.

    2-On ajoute ensuite un ListChartSource1 et on mets YCount=3 (pour que chaque barre sera divisée
    en trois parties).

    3-On ajoute ensuite un ChartStyle1, et on lui ajoute trois items.

    0-TChartStyle Brush/Color:Clred Text: DeskTop.
    1-TChartStyle Brush/Color:Clblue Text: Laptop.
    2-TChartStyle Brush/Color:Clyellow Text: Imprimante.

    4-On ajoute ensuite un CalculatedChartSource1 et on mets son origin:ListChartSource1
    on l'aura besoin pour manupiler son poucentage.
    (si on désire sommer chaque barre avec celles qui la précèdent on fixe:
    Accumulation method:camSum et Accumulation Range:3 'nombre de barres').

    5-On ajoute ensuite un ChartLegendPanel1 et on mets chart:Chart1 et on redimensionne sa taille.

    Si on désire faire apparaître uniquement des valeurs entières, la largeur de Chart1 doit être adéquate au nombre de barres,
    en général égale à n-1 cm dans notre cas 2 cm, la hauteur est au choix.

    On revient sur ChartBarSeries1 et on fixe ses propriétés:

    *Active: True.
    *BarWidthPercent:40 par exemple.
    *Legend/Multiplicity:ImStyle.
    *Source:CalculatedChartSource1.
    *Style:ChartStyles1.

    Si on désire que les barres soient horizontales il suffit d'ajouter:
    AxisIndexX:Left et AxisIndexY:Bottom.

    On ajoute ensuite un bouton qu'on appelle affichage et on l'implémente par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      with ListChartSource1 do begin
        AddXYList(2010, [155,120,221]);   //(x,[y1,y2,y3] bien sûr, ces valeurs peuvent êtres reliées 
        AddXYList(2011, [104, 130, 260]); //à une Dataset.
        AddXYList(2012, [160, 140, 250]);
    end;
    end;
    On ajoute ensuite un checkBox1 qu'on appelle pourcentage et on l'implémente par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.CheckBox1Change(Sender: TObject);
    begin
     if checkBox1.Checked=true then
     calculatedchartsource1.Percentage:=true
     else
     calculatedchartsource1.Percentage:=false
    end;
    et on exécute.

    merci à tous.

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 062
    Points : 15 353
    Points
    15 353
    Billets dans le blog
    9
    Par défaut
    Bonjour ! Merci pour cette contribution. Je n'avais jamais utilisé ces composants et j'ai pu construire l'exemple suivant la méthode proposée.
    Soit dit en passant, je suis tombé sur cette page qui montre comment on peut améliorer le rendu des graphiques en utilisant la bibliothèque BGRABitmap. (En appliquant la modification à votre exemple, j'ai perdu la couleur originale des barres mais j'imagine que cela doit pouvoir s'arranger.)
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Membre éclairé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 680
    Points
    680
    Par défaut
    Bonjour Roland
    j'ai vu cette page sur le site 'http://wiki.lazarus.freepascal.org/BGRABitmap_tutorial_TAChart'.
    Mais j'ai pas réussi à installer le package adéquat :TAchartBgra1.0 car il a beaucoup de dépendances d'autres packages!

    merci pour votre visite.

    FOCUS.

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

Discussions similaires

  1. [JpGraph] Erreur pour générer un graph en barre empilées
    Par timmy1 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 06/12/2011, 15h13
  2. [AC-2007] Graphe à barres empilées
    Par lio33 dans le forum IHM
    Réponses: 2
    Dernier message: 10/01/2011, 17h25
  3. [XL-2007] Supprimer les lignes vides des barres empilées
    Par Nuwanda dans le forum Excel
    Réponses: 3
    Dernier message: 04/08/2010, 09h57
  4. mettre les effectifs sur les barres d'un graphe en pile
    Par cocotta dans le forum SAS Base
    Réponses: 0
    Dernier message: 11/05/2010, 11h27
  5. comment ne pas afficher les zéro dans un diagramme à barres empilées
    Par sebastien84 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 10/10/2007, 13h17

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