Utilisation Tchart (reglages des echelles avec variables...).

onehant Messages postés 3 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006 - 15 nov. 2006 à 19:39
onehant Messages postés 3 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006 - 16 nov. 2006 à 20:15
Bonjour

Je suis actuellement en train de developper un projet et j'utilise beaucoup Tchart, or mes quelques cours ne m'ont rien appris dessus!J'ai beau chercher sur internet et dans les forums je n'ai pas trouvé réponses à ces questions, merci si vous avez la patience de me lire et encore plus de me repondre.

-Déjà est-il possible de regler l'echelle des axes d'une fonction en fonction de variable? Car dès que je trace une courbe le reglage est automatique et ne me convient pas, mais je ne peux pas non plus les régler de la même facon selon les cas...

-Comment trace-t-on des arc de cercles avec Tshart? Je connais mon point de depart, le centre du cercle, son rayon et le point d'arrivée...

-Et enfin quelque chose me tracasse, j'aimerai decortiquer ma fonction à tracer sur plusieurs segments, qui ont des bornes réelles, et utiliser des boucles afin de tracer la courbe sur les diferrentes parties (pour x entre a et b (a,b réels) faire...). Comment puis-je faire puisque pour moi les boucles ne fonctionnent que si a, b réels?

Merci pour votre attention, j'espere ne pas demander d'absurdité car je n'aime pas abuser des forums mais j'ai beau chercher je ne trouve pas réponses à ses questions...

4 réponses

cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
15 nov. 2006 à 23:15
salut,

pour TeeChart, tu trouvera bcp d'info et de tuto/article ici [ENG]:
http://www.teechart.net/support/index.php

Pour les axes, Si tu veux régler le min max, utilise Chart1.Axes.Right.SetMinMax(min, max)

appel ton code là où nécessaire (Chart.On(undo)Zoom, après avec avoir chargé les valeurs, ...)

Si tu veux une échelle non linéaire, je crois qu'il y a des modes d'échelle pour les axes.

Si tu veux choisir ou sont les labels, tu dois utiliser Chart1GetAxisLabel ou la version avancée de cette event (le nom m'échappe et j'ai pas delphi sous la main)

pour le TShart, j'en sais rien.

pour tes segements, tu peux ajouter les point dans une serie en specifiant les valeurs pour X ET Y. donc si tu utilise la bonne méthode, ça devrait pas poser de problème....

voilà. Si j'ai répondu à côté, re demande... :)

bon code,
0
onehant Messages postés 3 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
16 nov. 2006 à 13:46
merci pour ta réponse mais j'avoue ne pas etre vraiment aidé par celle-ci.
Deja lorsque tu me dis de regler l'echelle des axes avec Chart1.Axes.Right.SetMinMax(min, max) ces valeurs sont des constantes non? Car lorsque j'ai essaye de rentre x.value cela a été refusé...

Sinon je ne comprends pas ce que tu veux dire par "appel ton code là où nécessaire (Chart.On(undo)Zoom, après avec avoir chargé les valeurs, ...)"?

et pour mes segments j'essaye d'ajouter les points dans une serie, j'arrive à tracer par exmple une droite pour x de 0 à h.value, mais je n'arrive pas a en tracer une autre à la suite de h.value à t.value par exemple... Je dois etre super mauvais mais au bout de 5h d'essai je sature....

Merci beaucoup!
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
16 nov. 2006 à 17:16
non, min et max sont des paramètres, tu passe donc ce que tu veux. Dans mon prog, je passe la valeur max de la serie + 10% par exemple.

"appel ton code là où nécessaire", hum. c'est un point qui m'as posé pas mal de problème... tu doit redimensionner les axes partout ou tu change les valeurs visible. cad après avoir charger tes valeurs (ton histoire de segment), après avoir fait un zoom avec la souris, après avoir ajouter des valeurs (si tu en ajoute par la suite, ....) il te faut regarder les event de ton chart.

pour les segment, je te ferrai un code d'exemple demain si tu veux, c'est pas bien compliquer... il faut utiliser serie.AddXY (si ma mémoire est bonne)
donc un truc genre :

pas,x : double;
begin
for i := 1 to nbPasSeg1 do begin
x := i * pas;
Series1.AddXY(x, TaFunctionSeg1(x));
end;

for i := nbPasSeg1+1 to nbPasSeg2+nbPasSeg1+1 do begin
x := i * pas;
Series1.AddXY(x, TaFunctionSeg2(x));
end;

le nbPasSeg1(2) depend du deltaX que tu veux pour ton calcul (résolution) et de ta plage de valeur.

fouille le site de steema, y a des tuto/article pas mal (mais il sont un peu caché)

A+
0
onehant Messages postés 3 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
16 nov. 2006 à 20:15
merci beaucoup pour ton attention.
J'ai deja reussi a tracer mes arcs de cercle, mes dans mon code j'utilise chart1[0].addXY(...), quelle est la différence avec serie.addXY?

Demain je compte programmer pas mal et pourrai poser des questions à un prof, je pense que je devrai pas mal avancer...

merci encore
0
Rejoignez-nous