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

C# Discussion :

Probléme plot Real Time Winform [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Probléme plot Real Time Winform
    Bonjour , j'ai un programme qui me fait tracer deux point en fonction du temps , mon problème c'est qu'avec le temps le graphe devient trop remplis des point du coup ça devient illisible

    Nom : Capture.JPG
Affichages : 228
Taille : 56,3 Ko

    1 - j'aimerais bien mettre une barre qui se déplace à gauche et à droit pour élargir un peu le plot comme sur la vidéo:



    2 - je veux ajouter les deux barre qui affichent les coordonnée X-Y des mes deux point comme sur la photo

    Nom : Capture2.JPG
Affichages : 244
Taille : 50,0 Ko

    3- ainsi qu'un zoom sur le graph
    Nom : Capture3.JPG
Affichages : 173
Taille : 10,7 Ko

    existe - t elle des méthode qui peuvent m'aider à faire le nécessaire , quelqu'un peut me donner un coup de main svp

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2011
    Messages : 72
    Par défaut
    Bonjour,
    si j'ai bien compris c'est un Chart et pour le premier point, voilà comment je ferai pour avoir un graph glissant :
    Mettre les valeurs dans un List<double> supprimer la x dernière valeur de la liste puis faire un Clear du graph, afficher les valeur souhaité avec un foreach.
    Régler la valeur de l'intervalle pour avoir l'écart sur la grille.

    pour le zoom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
    chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
     
    chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
    chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;
    Pour afficher les labels :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    chart1.Series[0].LabelForeColor = Color.White; 
    chart1.Series[0].IsValueShownAsLabel = valeurdupoint;
    bon code !
    Cordialement

  3. #3
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
      // si on depasse 50 points ,on supprime le premier point
                for (i = 0; i < this.chart1.Series.Count; i++)
                {
                    if (this.chart1.Series[i].Points.Count > nbPointAffiches)
                    {
                        this.chart1.Series[i].Points.RemoveAt(0);
                    }
     
                    else // sinon on insere le suivant
     
     
                    {
                        // incrementation de ta var TheDateTimeNow
                        TheDateTimeNow = TheDateTimeNow.AddSeconds(30
                            );
     
                        // nouveau point
     
                        DataPoint newPt = new DataPoint();
                        newPt.XValue = TheDateTimeNow.ToOADate();
                        newPt.YValues[0] = pitch_Col2r;
                        this.chart1.Series[0].Points.Add(newPt);
                        DataPoint newPt2 = new DataPoint();
                        newPt2.XValue = TheDateTimeNow.ToOADate();
                        newPt2.YValues[0] = roll_Col2r;
                        this.chart1.Series[1].Points.Add(newPt2);
     
                    }
                }
    Merci pour votre réponse
    C'est exactement ce que je fait , et en fait j'ai besoins de toutes les points que j'ai traçé , ce que je veux c'est juste une petite barre en bas qui se déplace à gauche et à droite pour élargir un peu l'espace d'affichage

    aussi pour les label ça n'a pas marché le code qui vous m'avez donner
    Dernière modification par Invité ; 06/05/2019 à 22h25. Motif: Inutile de citer intégralement le message précédent

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2011
    Messages : 72
    Par défaut
    Oups !
    aussi pour les label ça n'a pas marché le code qui vous m'avez donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chart1.Series[0].IsValueShownAsLabel = true;

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

Discussions similaires

  1. Problème de compilation des fichiers générés de real time
    Par matimatiksa dans le forum Simulink
    Réponses: 1
    Dernier message: 11/04/2015, 17h23
  2. [Real-Time] Comment mettre en place un environnement temps réel ?
    Par jlassiramzy dans le forum Développement Mobile en Java
    Réponses: 2
    Dernier message: 26/01/2007, 12h05
  3. Real time Windows
    Par Francis63 dans le forum Simulink
    Réponses: 5
    Dernier message: 21/11/2006, 11h34
  4. Problème Conversion REAL --> VARCHAR
    Par YOYOVbSQL dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2006, 18h03
  5. problème java run time environment
    Par abrmed dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 19/08/2005, 13h27

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