| auteur : Bandit Boy |
Un TChart est un composant permettant de réaliser des graphiques pour représenter des chiffres. Il peut représenter un repère orthonormé, un histogramme, un camembert, ou un diagramme de Gantt. Le repère orthonormé permet d'afficher de plusieurs manières : points reliés, nuage de points, vecteurs, zones (par shape, ou rondes).
Chaque série de données est représenté dans une "Series".
Les fonctions décrites dans la FAQ peuvent être définies soit par logiciel lorsque l'application est en cours, soit à la conception en double-cliquant sur le composant.
|
| auteur : Bandit Boy |
Il faut dans un premier temps déclarer la série du type que l'on souhaite.
TFastLineSeries * Serie;
Serie = new TFastLineSeries (this );
Serie- > ParentChart = Chart1;
|
- TAreaSeries
- TBarSeries
- TCircledSeries
- TCustomBarSeries
- TCustomSeries
- TFastLineSeries
- THorizBarSeries
- TLineSeries
- TPieSeries
- TPointSeries
- TSeriesPointer
|
| auteur : Bandit Boy |
Dans le cas d'une série représentée dans un repère XY, il suffit d'ajouter un point en utilisant la méthode AddXY.
Serie- > AddXY (X, Y, " texte en X " , clBlack);
|
X et Y sont de type double.
|
| auteur : Bandit Boy |
Dans un premier temps, on déclare la série (ici sur un DBChart, idem TChart), puis on ajoute un "Pie". Les 360° sont représentés par une valeur de 100 (ici 30+50+20). Dans le cas où la somme n'est pas égale à 100, la dernière part ne fera pas la valeur indiquée, mais le complément.
TPieSeries * Series1;
Series1 = new TPieSeries (this );
Series1- > ParentChart = DBChart1;
Series1- > AddPie (30 , " 1 partie " , clLime);
Series1- > AddPie (50 , " 2 partie " , clBlue);
Series1- > AddPie (20 , " 3 partie " , clYellow);
|
|
| auteur : Bandit Boy |
Le diagramme de Gantt représente des zones sur différentes hauteurs, pour ajouter une donnée, il faut utiliser la fonction AddGantt.
Series1- > AddGantt (Depart, Fin, NumLigne, " Texte de la ligne " );
|
Depart et Fin sont les coordonées en X de départ et de fin de la zone créée.
NumLigne représente la ligne sur laquelle elle se trouvera et "Texte de la Ligne" sera le texte associé.
|
| auteur : Bandit Boy |
Il faut dans un premier temps initialiser l'axe X en fonction du temps et lui donner un incrément.
Chart1- > BottomAxis- > ExactDateTime = true ;
Chart1- > BottomAxis- > Increment = DateTimeStep[dtOneSecond];
Serie- > AddXY (Now (), Y, DateTimeToStr (Now ()), clBlack);
|
Ici, on affiche à l'heure du PC la valeur Y.
|
| auteur : Bandit Boy |
Il est possible de sauver un Chart sous la forme d'une image BMP par la méthode SaveToBitmapFile.
Chart1- > SaveToBitmapFile (" C:\\graph.bmp " );
|
Par exemple, ici on sauvegarde l'image graph.bmp sous la racine, qui sera l'image du graphe.
|
| auteur : Bandit Boy |
On peut modifier le style (trait plein ou pointillé) du trait si ce dernier est d'épaisseur d'1 pixel. On peut également modifier l'épaisseur du trait.
L'exemple suivant permet d'obtenir un trait pointillé.
Serie- > LinePen- > Width = 1 ;
Serie- > LinePen- > SmallDots = true ;
Serie- > LinePen- > Style = psDot;
|
|
| auteur : Bandit Boy |
La couleur de la série peut être modifiée par la propriété SerieColor.
Serie- > SeriesColor = clLime;
|
|
| auteur : Bandit Boy |
L'utilisateur peut se déplacer en faisant un "cliqué-glissé" avec le clic droit de sa souris.
Il est possible d'autoriser le déplacement sur tout le graphe, sur son axe horizontal, vertical, ou de l'inhiber totalement. Il faut modifier la propriété AllowPannel.
Chart1- > AllowPanning = pmNone;
|
- pmHorizontal autorise le déplacement horizontal seulement
- pmVertical autorise le déplacement verticalseulement
- pmBoth autorise le déplacement complet
|
| auteur : Bandit Boy |
Il faut modifier le paramètre AllowZoom.
Chart1- > AllowZoom = true ;
|
Le zoom se fait en dessinant une zone avec le clic gauche de la souris.
|
| auteurs : sat83, pottiez |
Pour modifier l'échelle du TChart il suffit d'accéder à la propriété Logarithmic des axes du TChart (BottomAxis, LeftAxis, ...) :
Chart1- > BottomAxis- > Logarithmic = true ;
|
|
Consultez les autres F.A.Q.
|
|