Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C++

Choisissez la catégorie, puis la rubrique :

logo
Sommaire > Interface > Composants > Les images et le graphisme > TChart
        Qu'est ce qu'un TChart ?
        Comment ajouter une série à un TChart ?
        Comment ajouter un point à une série ?
        Comment créer un graphe en camembert?
        Comment ajouter une donnée à un diagramme de Gantt ?
        Comment représenter un graphique en fonction du temps ?
        Comment sauvegarder un TChart ?
        Comment changer le trait d'une série ?
        Comment changer la couleur d'une série ?
        Comment autoriser/inhiber le déplacement ?
        Comment autoriser/inhiber le zoom ?
        Comment mettre une échelle logarithmique sur le TChart ?



Qu'est ce qu'un TChart ?
Créé le 06/12/2006[haut]
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.


Comment ajouter une série à un TChart ?
Créé le 06/12/2006[haut]
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


Comment ajouter un point à une série ?
Créé le 06/12/2006[haut]
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.


Comment créer un graphe en camembert?
Créé le 06/12/2006[haut]
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);

Comment ajouter une donnée à un diagramme de Gantt ?
Créé le 06/12/2006[haut]
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é.


Comment représenter un graphique en fonction du temps ?
Créé le 06/12/2006[haut]
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.


Comment sauvegarder un TChart ?
Créé le 06/12/2006[haut]
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.


Comment changer le trait d'une série ?
Créé le 06/12/2006[haut]
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;

Comment changer la couleur d'une série ?
Créé le 06/12/2006[haut]
auteur : Bandit Boy
La couleur de la série peut être modifiée par la propriété SerieColor.

Serie->SeriesColor = clLime;

Comment autoriser/inhiber le déplacement ?
Créé le 06/12/2006[haut]
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; //interdit le déplacement
  • pmHorizontal autorise le déplacement horizontal seulement
  • pmVertical autorise le déplacement verticalseulement
  • pmBoth autorise le déplacement complet


Comment autoriser/inhiber le zoom ?
Créé le 06/12/2006[haut]
auteur : Bandit Boy
Il faut modifier le paramètre AllowZoom.

Chart1->AllowZoom = true; //autorise le zoom
Le zoom se fait en dessinant une zone avec le clic gauche de la souris.


Comment mettre une échelle logarithmique sur le TChart ?
Créé le 22/11/2010[haut]
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.


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C++

Partenaire : Hébergement Web