IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

ZedGraph, contrôle XAxis [Débutant]


Sujet :

VB.NET

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut ZedGraph, contrôle XAxis
    Salut tout le monde,

    Je suis en train de programmer un oscilloscope avec ZedGraph.

    Ma question est :

    Quand une valeur vient d'être ajoutée, l'axe x va s'arranger l'échelle pour afficher tout le courbes.

    Vu que c'est un oscilloscope, je n'ai pas besoin de voir ce que s'est passé avant, je voudrais avoir une échelle fixe au niveau de l'axe X .

    Je suis à la recherche de cette réponse et si vous le savez ?

    Merci d'avance pour votre attention

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 200
    Points : 819
    Points
    819
    Par défaut fixation du scale dans ZedGraph
    Bonjour,

    Pour fixer la taille de ton graph, une réponse a été apportée sur ce post:

    http://www.developpez.net/forums/d39...be-temps-reel/

    Mais j'ai l'impression que tu veux faire glisser ta fenêtre pour accompagner à chaque fois tes dernières valeurs. Si c'est cela, il faut que tu fixes ton échelle comme indiqué dans le lien, et que tu fasse décaler les min et max des axes à chaque dépôt d'une valeur.

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut
    je suis en train de lire les propriétés de l'axe X sur le site :

    http://zedgraph.sourceforge.net/docu...Graph_Axis.htm

    j'ai vu une procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Draw(Graphics, GraphPane, Single, Single)
    Je ne comprends pas c'est quoi "Graphics" ici ...

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 200
    Points : 819
    Points
    819
    Par défaut
    Citation Envoyé par xingjing910 Voir le message
    je suis en train de lire les propriétés de l'axe X sur le site :

    http://zedgraph.sourceforge.net/docu...Graph_Axis.htm

    j'ai vu une procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Draw(Graphics, GraphPane, Single, Single)
    Je ne comprends pas c'est quoi "Graphics" ici ...
    l'objet Graphics correspond à la surface sur laquel ton controle doit afficher le rendu IHM. c'est la même chose que lors d'une réécriture de la méthode Paint d'un controle.

    Normalement, tu n'as besoin d'en arriver la. A la fin de ta méthode de demande d'affichage d'un point (ou d'une courbe entière, je ne sais pas comment tu as fait ta méthode), il faut que tu redéfinisse les axes par les propriétés:

    this.graph.GraphPane.XAxis.Scale.Max
    this.graph.GraphPane.XAxis.Scale.Min

    Puis, n'oubli pas d'indiquer que tu as fait des modifications des axes par les méthodes:

    this.graph.AxisChange();
    this.graph.Refresh();

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par ElJipi Voir le message
    Bonjour,

    Pour fixer la taille de ton graph, une réponse a été apportée sur ce post:

    http://www.developpez.net/forums/d39...be-temps-reel/

    Mais j'ai l'impression que tu veux faire glisser ta fenêtre pour accompagner à chaque fois tes dernières valeurs. Si c'est cela, il faut que tu fixes ton échelle comme indiqué dans le lien, et que tu fasse décaler les min et max des axes à chaque dépôt d'une valeur.
    Salut ElJipi,

    Merci bien de ta réponse. J'arrive à faire ce que je voudrais. Maintenant, je viens de constater un problème.
    Tu sais comment on faire pour initialiser (Effacer la courbe précédent ?)

    Mon problème est :
    Premier temps: Je visualise la variation d'un paramètre venant d'une carte. J'ai arrêté et je change un autre paramètre .

    2ème temps: Quand je change et je remets l'axe x=0, la courbe précédent est toujours présentée et le pire, c'est que cette courbe là est relié à la nouvelle courbe.

    Tu as une idée ? je vais chercher la réponse et si tu le savais ou bien si quelqu'un le sait ?

    Merci d'avance

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 200
    Points : 819
    Points
    819
    Par défaut
    Citation Envoyé par xingjing910 Voir le message
    Salut ElJipi,

    Merci bien de ta réponse. J'arrive à faire ce que je voudrais. Maintenant, je viens de constater un problème.
    Tu sais comment on faire pour initialiser (Effacer la courbe précédent ?)

    Mon problème est :
    Premier temps: Je visualise la variation d'un paramètre venant d'une carte. J'ai arrêté et je change un autre paramètre .

    2ème temps: Quand je change et je remets l'axe x=0, la courbe précédent est toujours présentée et le pire, c'est que cette courbe là est relié à la nouvelle courbe.

    Tu as une idée ? je vais chercher la réponse et si tu le savais ou bien si quelqu'un le sait ?

    Merci d'avance
    A chaque fois que tu utilise la méthode this.graph.AddCurve(...), une nouvelle courbe est associé a ton graph. Si tu veux en supprimer certaines, il faut pouvoir les lister. (dans un projet, j'avais associer un dictionnaire contenant mes courbes 'CurveItem' et un identifiant en clé. Cela me permettais d'acceder très rapidement à une courbe déja affichée).

    Donc il faut que tu supprime de la liste des courbes de ton graph les courbes que tu ne veut plus

    Le plus simple étant de supprimer toutes les courbes et de redéssiner le tout (c'est très rapide)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    this.BeginUpdate();
    this.graph.GraphPane.CurveList.Clear();
    // Draw de tes courbes
    // Définition du scale          
    this.graph.Refresh();    
    this.EndUpdate();
    Un truc dans le genre

  7. #7
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par ElJipi Voir le message
    A chaque fois que tu utilise la méthode this.graph.AddCurve(...), une nouvelle courbe est associé a ton graph. Si tu veux en supprimer certaines, il faut pouvoir les lister. (dans un projet, j'avais associer un dictionnaire contenant mes courbes 'CurveItem' et un identifiant en clé. Cela me permettais d'acceder très rapidement à une courbe déja affichée).

    Donc il faut que tu supprime de la liste des courbes de ton graph les courbes que tu ne veut plus

    Le plus simple étant de supprimer toutes les courbes et de redéssiner le tout (c'est très rapide)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    this.BeginUpdate();
    this.graph.GraphPane.CurveList.Clear();
    // Draw de tes courbes
     
    // Définition du scale          
    this.graph.Refresh();    
    this.EndUpdate();
    Un truc dans le genre
    Salut ELjipi,

    Merci de ta réponse rapide. J'ai essayé d'effacer tous les courbes avant de tracer une nouvelle. Mais ça ne marche pas encore pour l'instant. J'utilise VB net, il n'y a pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BeginUpdate() et EndUpdate
    .

    D’ailleurs, je n'ai pas compris la notion "Dictionnaire contenant les courbes. je continue à voir pk ça ne marche pas .

    Merci bien

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 200
    Points : 819
    Points
    819
    Par défaut
    Citation Envoyé par xingjing910 Voir le message
    Salut ELjipi,

    D’ailleurs, je n'ai pas compris la notion "Dictionnaire contenant les courbes. je continue à voir pk ça ne marche pas .

    Merci bien
    Sur un projet, je devais rendre visible ou non certaines courbes en fonction des demandes de l'utilisateur. Pour modifier l'affichage d'une seul courbe identifié dans un graphe en contenant une vingtaines, il me fallait lister toute mes courbes.
    Pour cela, à chaque AddCurve, je récupérais le curveItem créé et je l'insérais dans un dictionnaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dictionary<Guid, CurveItem> dico = ...; // récupération de mon listing de courbe
    Guid idCurve = ... //L'identifiant de ma courbe
    CurveItem curve = this.graph.AddCurve(....) //creation de ma courbe
    dico.Add(idCurve, curve); // ajout de la nouvelle courbe dans mon listing
    C'etait juste pour pouvoir modifier ou supprimer une courbe bien précise d'un graph.

  9. #9
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut
    Salut Eljipi,

    J'ai une question ^_^ ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Courbe = myPane.AddCurve(x, list, Drawing.Color.Black, SymbolType.None)
    la variable "list" est une variable "PointPairList" que j'ai déclaré au début du programme.

    j'efface tous les courbes dans le graph par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                zg1.Update()
                zg1.GraphPane.CurveList.Clear()
                zg1.Refresh()
    la courbe précédente est disparu et ensuite, en cliquant sur un autre bouton,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                Courbe = myPane.AddCurve(x, list, Drawing.Color.Black, SymbolType.None)
    La courbe revient, je me demande, ce n'est pas la variable "list" qui bug ?
    cette variable "list" contient les valeurs précédent. Mais quand je faire "list=nothing" après avoir effacé la courbe précédents, il n'y aura plus de courbe.

    quelqu'un a une idée ?

    Merci d'avance

  10. #10
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut
    Salut,

    C'est bon, j'ai eu la solution. En effet, vu que la variable "List" est de type "PointPariList", avant d'effacer tous les courbes, il faut vider "List"


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment empêcher la mise à jour d'un contrôle à l'écran ?
    Par JojoLaFripouille dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/09/2003, 12h52
  2. Codes de contrôle des imprimantes
    Par hetzel dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 21/03/2003, 17h17
  3. [ActiveX] Propriété "Picture" dans un contrôle util
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/12/2002, 15h59
  4. [contrôle] dbDateTimePicker ???
    Par Fizgig dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/11/2002, 15h45
  5. [Kylix] Contrôle DBGrid
    Par KThrax dans le forum EDI
    Réponses: 1
    Dernier message: 10/05/2002, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo