Comment tracer une courbe en fonctions de chiffres

Signaler
Messages postés
161
Date d'inscription
vendredi 8 mars 2002
Statut
Membre
Dernière intervention
8 mars 2012
-
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
-
Bonjour, je recois des données d'un fichier texte (données numériques) et je voudrait tracer une courbe qui représente ces données. Là oùje bute c'est comment tracer une courbe.

Par exemple j'ai 10 valeurs en 0 et 10

V1=2
V3=4
V4=8
V5=2
etc...

et representer ces 10 valeurs dans une courbe, voir des pics par exemple pour suivre l'évolution de températures.

Comment puis je faire ? où trouver un code d'exemple ?.

Je pense devoir utiliser PSET, mais quand je lefait j'ai que des points, pas des courbes.

7 réponses

Messages postés
161
Date d'inscription
vendredi 8 mars 2002
Statut
Membre
Dernière intervention
8 mars 2012

A defaut de courbe et pour faire plus simple, je veux juste joindre les points, un trait suffirait plutot qu'une courbe.
Messages postés
14771
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
5 mars 2021
151
Bonjour,

Si mes souvenirs sont bons :

PSET (X,Y),Color
pour le premier point, ensuite :
Line -(X,Y),Color

Regardes l'aide sur cela.

Mon site
Messages postés
161
Date d'inscription
vendredi 8 mars 2002
Statut
Membre
Dernière intervention
8 mars 2012

oui, merci j'ai réussi.

Seul soucis qui demeure, je trace mes courbes dans une picturebox et du coup en arrivant au bout et je ne vois pas la suite, existe il un moyen de faire défiler le contenu d'une picturebox ?
Messages postés
14771
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
5 mars 2021
151
Bonjour,

Proposition d'implémentation :

Il te faudra utiliser une scroll bar (ascenseur, horizontal, je pense) et un peu de code.
(Je ne te fournit pas le code, mais des éléments de réponses)

Lors de l'initialisation de tes données, tu définit les bornes de ton ScrollBar entre 0 et NbPointTotal-NbPointAffichable (si cette dernière valeur est négative, ça signifie que la ScrollBar est inutile, à toi de gérer).

Ensuite (et à chaque changement de valeur de la ScrollBar), tu affiches ta courbe en partant du point indiquer par la ScrollBar.Value.
Avec le décalage en base 0 (0=premier élément, 1=2ième élément, ...).

Une boucle genre :
For i=lBound(MonTableau)+ScrollBar.Value to uBound(MonTableau)
par exemple.

Mon site
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
Bonjour,

Tu peux aussi utiliser la propriété Scale de l'image :
avec 0 à x1 et le nombre de valeurs -1 en x2
et en y1 et y2 les valeurs mini et maxi de tes données.
Par exemple tu as 15 valeurs allant de -5 à + 20
             '  x1,y1   x2, y2
imgCOURBE.Scale(0, -5)-(14, 20)

Auparavant tu récupères tes données dans un tableau en sauvegardant les valeurs mini et maxi.

1) Si tu ne veux pas sauvegarder les mini et maxi tu fixes y1 et y2 aux valeurs mini et maxi qui te paraissent possibles pour les données reçues.
2) Pour le x2, si tu penses que tu reçois un maximum de 10 valeurs tu mets directement x2 à 9.

Ces deux solutions t'évitent de passer par un tableau et tu peux tracer directement tes "courbes" à chaque lecture de données.

Pour le ScrollBar la solution de NHenry est évidemment bonne, mais je pense qu'avec Scale ce sera pour toi plus simple à mettre en oeuvre.

Cheyenne
Messages postés
161
Date d'inscription
vendredi 8 mars 2002
Statut
Membre
Dernière intervention
8 mars 2012

Merci j'ai réussi
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
Bonjour,

C'est bien, mais tu ne nous dis pas avec quelle méthode !
Sois gentil de bien vouloir valider la réponse qui t'a été utile. Merci

Cheyenne