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 :

Maximum et Minimum des axes d'un Chart


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 43
    Points
    43
    Par défaut Maximum et Minimum des axes d'un Chart
    Bonjour,

    J’ai développé un programme qui trace une fonction sinus avec un Chart (VB Visual studio 2017)
    Je fixe maximun et minumun avec les instruction suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            Chart1.ChartAreas(0).AxisX.Maximum = 20                     ' 20 ms
            Chart1.ChartAreas(0).AxisX.Minimum = 0
            Chart1.ChartAreas(0).AxisY.Maximum = 1.5                    ' 1.5 V
            Chart1.ChartAreas(0).AxisY.Minimum = -1.5
    Mais le plot est entre pour X (-1,19) et pour Y (-2,+2).
    Donc les instructions ci dessus ne fonctionnent pas.

    J'ai beau cherché, je ne trouve pas d'autre méthode pour fixer les axes.
    Je n'ai pas trouvé de propriété type "Autoscaling", qui neutraliserait ces instructions.

    Quelqu'un a t-il déjà rencontrer ce problème ?

    Mon code:
    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
    30
    31
    32
    33
    34
    35
    36
     
    Public Const nb_samples_max As Integer = 4000
        Public xch1(nb_samples_max) As Single
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim chartArea1 As New ChartArea()                       ' Create an Chart Area
            Dim sigch1 As String = "Signal ch1"                     ' signal
     
            chartArea1.Name = sigch1
            Chart1.Legends.Clear()
            Chart1.ChartAreas.Add(chartArea1)
            Chart1.ChartAreas(chartArea1.Name).BackColor = Color.LightGray
            Chart1.Series.Add(sigch1)                               ' display signal
            Chart1.Series(sigch1).ChartArea = chartArea1.Name       'serie is displayed in chartArea1
            Chart1.Series(sigch1).Color = Color.Red
            Chart1.Series(sigch1).ChartType = SeriesChartType.FastLine       ' draw mode line
            Chart1.ChartAreas(0).AxisX.Maximum = 20                     ' 20 ms
            Chart1.ChartAreas(0).AxisX.Minimum = 0
            Chart1.ChartAreas(0).AxisY.Maximum = 1.5                    ' 1.5 V
            Chart1.ChartAreas(0).AxisY.Minimum = -1.5
            Chart1.ChartAreas(0).AxisY.Title = "CH1 SA"
            Chart1.ChartAreas(0).AxisX.Title = "Time (ms)"
            Chart1.Series(0).XValueType = ChartValueType.Int32
            Chart1.Series(0).YValueType = ChartValueType.Single
            Chart1.ChartAreas(0).Position = New ElementPosition(0, 0, 500, 200)
            Chart1.ChartAreas(0).BackColor = Color.LightGray
     
            Dim t As Single
            Dim nsamples = 4000
            Dim acq_per_local As Single = 0.000005
            For i = 0 To nsamples
                t = 1000 * i * acq_per_local
                xch1(i) = 1.5 * Sin(2 * Math.PI * t * 0.75)
                Chart1.Series(0).Points.AddXY(t, xch1(i))
            Next
     
        End Sub
    Le plot:
    Nom : Plot.PNG
Affichages : 802
Taille : 19,9 Ko

  2. #2
    Membre averti Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Points : 372
    Points
    372
    Par défaut
    Bonjour,

    Citation Envoyé par jlalexie Voir le message


    Je n'ai pas trouvé de propriété type "Autoscaling", qui neutraliserait ces instructions.
    Pour l'autoscaling, il me semble qu'il faut utiliser "auto" au lieu d'une valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Chart1.ChartAreas(0).AxisX.Maximum = auto                    
    Chart1.ChartAreas(0).AxisX.Minimum = auto
    Chart1.ChartAreas(0).AxisY.Maximum = auto                
    Chart1.ChartAreas(0).AxisY.Minimum = auto
    


    Tu peux aussi utiliser la fonction chart1.ChartAreas[0].RecalculateAxesScale() soit après avoir fait les changements de propriétés des axes, soit après avoir affiché tes points

    Sincèrement

  3. #3
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour

    le code suivant décale les positions de la vue de "sinusoïde" suivant x et y ,sans changement de tes autres paramétrés (origine x,y du dessin ou plot):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Chart1.ChartAreas(0).AxisX.ScaleView.Position = 0
            Chart1.ChartAreas(0).AxisY.ScaleView.Position = 0
    bon code.

Discussions similaires

  1. Chart et valeurs des axes
    Par babagreen dans le forum Windows Forms
    Réponses: 0
    Dernier message: 20/07/2017, 09h30
  2. Modification et affichage des axes dans un control Chart
    Par Ephem90 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/03/2015, 11h55
  3. [8.4]Report studio- Customisation des axes d'un chart
    Par vinch999 dans le forum Cognos
    Réponses: 5
    Dernier message: 03/04/2011, 00h13
  4. Permutations, maximum et minimum des chiffres d'un entier
    Par JetliMohamed dans le forum Pascal
    Réponses: 14
    Dernier message: 29/01/2008, 22h20
  5. [VB6] Modification des axes d'un composant Chart
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/05/2003, 08h33

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