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:
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
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;
et on exécute.
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;
merci à tous.
Partager