none
Spline Chart en vb.net? RRS feed

  • Discussion générale

  • Bonjour,

    Je suis à la recherche d'exemples simple du chart en mode affichage Spline pour afficher une courbe à partir de variable "Temps" et "Température".

    Comme cette exemple, j'ai essaier Zedgraph mais je suis incapable d'afficher la courbe!?

    Pouvez-vous m’aider?

    Je ne trouve rien à ce sujet surtout en vb.net!

    Merci de votre aide

    lundi 3 octobre 2016 18:03

Toutes les réponses

  • Bonjour chigrenier,

    Pourquoi n'utilisez vous pas le contrôle Chart natif du Framework .NET (dans la boîte à outils onglet Données) ?

    Cordialement

    mardi 4 octobre 2016 13:36
  • Le contrôle Chart a un Spline pour afficher vos data.

    Par exemple comme ceci:

    Et le code exemple:

    Chart1.SuspendLayout()
            'Starting the RandomGenerator
            oneRandom = New Random
            'Suppression series 
            Chart1.Series.Clear()
            'Formating the Chart
            Chart1.Series.Add("Serie Points")
            Chart1.Series("Serie Points").ChartType = SeriesChartType.Spline
            Chart1.Series("Serie Points").Color = Color.Blue
    
            'Axis
            Chart1.ChartAreas(0).AxisX.Minimum = 0
            Chart1.ChartAreas(0).AxisX.Maximum = 100
            Chart1.ChartAreas(0).AxisX.Interval = 5
            Chart1.ChartAreas(0).AxisY.Minimum = 0
            Chart1.ChartAreas(0).AxisY.Maximum = 55
            Chart1.ChartAreas(0).AxisY.Interval = 5
            'Ajout points
            Dim intIndex As Integer
            For intIndex = 0 To 100 Step 5
                Chart1.Series("Serie Points").Points.AddXY(intIndex, oneRandom.Next(15, 45))
            Next
            'Deuxième série
            Chart1.Series.Add("Serie2")
            Chart1.Series("Serie2").ChartType = SeriesChartType.Spline
            Chart1.Series("Serie2").Color = Color.Red
            'Ajout points
            For intIndex = 0 To 100 Step 3
                Chart1.Series("Serie2").Points.AddXY(intIndex, oneRandom.Next(8, 20))
            Next
            Chart1.ResumeLayout()


    Ah oui aussi, le contrôle Chart se trouve sous les "Données" dans la boite à outils...
    jeudi 6 octobre 2016 09:57
  • Bonjour Cyrille,

    Merci pour l'info!

    Étant donné que je ne suis pas un pro du vb.net voici pourquoi je dois utiliser le chart.

    Je travaille sur un p’tit projet, il consiste à mesurer la température à tous les 30 secondes Axe X et la température doit s’afficher en sinus (Spline) sur l’Axe Y et avoir la fonction zoom in et zoom out avec la souri, mais voici je ne sais pas comment faire??

    Pouvez-vous m’aider?

    Merci

    Code:

     'Zoom avant et Zoom arrière avec la souris 
    
    
    
            Chart1.SuspendLayout()
            'Starting the RandomGenerator
            oneRandom = New Random
            'Suppression series 
            Chart1.Series.Clear()
            'Formating the Chart
            Chart1.Series.Add("Temperature")
            Chart1.Series("Temperature").ChartType = SeriesChartType.Spline
            Chart1.Series("Temperature").Color = Color.Blue
    
            
            'Set max/min XAxis 
            Chart1.ChartAreas(0).AxisX.Minimum = 0
            Chart1.ChartAreas(0).AxisX.Maximum = 500
            Chart1.ChartAreas(0).AxisX.Interval = 30
    
            'Set max/min YAxis 
            Chart1.ChartAreas(0).AxisY.Minimum = 0
            Chart1.ChartAreas(0).AxisY.Maximum = 125
            Chart1.ChartAreas(0).AxisY.Interval = 5
            'Ajout points
            Dim intIndex As Integer
            For intIndex = 0 To 100 Step 5
                Chart1.Series("Temperature").Points.AddXY(intIndex, oneRandom.Next(15, 45))
            
            Next
            Chart1.ResumeLayout()
    

    jeudi 6 octobre 2016 13:17
  • Bonjour,

    Voici mon problème, je suis parvenu à génère une ligne avec un timer pour comprendre le fonctionnement du Chart, le problème est que quand le form se load je ne vois pas le chart il apparait seulement quand je click sur le bouton timer!<o:p></o:p>

    Comment je peux faire apparaitre automatiquement le chart quand le form se load?

    <o:p>Merci!</o:p>

    Chris<o:p></o:p>

    Imports System.Windows.Forms.DataVisualization.Charting
    
    Public Class Form1
    
        Dim Seconde As Integer = 0
        Dim Temperature As Integer = 0
    
        Private Property oneRandom As Random
    
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'variable
            Seconde = 0
            Temperature = 0
    
            'Création d'un titre qu'on ajoute à la collection Titles du Chart:
            Chart1.Titles.Add("Titre1")
            'Texte du titre
            Chart1.Titles(0).Text = "Temperature vs. Time"
            'Position du texte dans le rectangle
            Chart1.Titles(0).Alignment = System.Drawing.ContentAlignment.BottomRight
            'Texte de l'axis X
            Chart1.ChartAreas(0).AxisX.Title = "Time (Sec)"
            'Texte de l'axis Y
            Chart1.ChartAreas(0).AxisY.Title = "Temperature (Celcius)"
    
            'Zoom avant et Zoom arrière avec la souris 
    
    
    
            'Suppression series 
            Chart1.Series.Clear()
            'Formating the Chart
            Chart1.Series.Add("Temperature")
            Chart1.Series("Temperature").ChartType = SeriesChartType.Spline
            Chart1.Series("Temperature").Color = Color.Blue
    
    
            
            'Set max/min XAxis Time (Sec)
            Chart1.ChartAreas(0).AxisX.Minimum = 0
            Chart1.ChartAreas(0).AxisX.Maximum = 600
            Chart1.ChartAreas(0).AxisX.Interval = 30
            
    
            'Set max/min YAxis Temperature (Celcius)
            Chart1.ChartAreas(0).AxisY.Minimum = 0
            Chart1.ChartAreas(0).AxisY.Maximum = 240
            Chart1.ChartAreas(0).AxisY.Interval = 20
            Chart1.ChartAreas(0).AxisY.MajorGrid.Interval = 5
            Chart1.ChartAreas(0).AxisY.MajorTickMark.Interval = 10
            'Pour modifier l'épaisseur du trait de Temperature 
            Chart1.Series(0).BorderWidth = 2
    
           
    
        End Sub
    
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Timer1.Enabled = True
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Timer1.Enabled = False
            Seconde = 0
            Temperature = 0
            Secondevalue.Text = 0
            
        End Sub
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            Seconde = Seconde + 1
            Temperature = Temperature + 1
            Secondevalue.Text = Seconde.ToString
    
            'Ajout points
            Dim intIndex As Integer
            For intIndex = 0 To 480 Step Seconde
                Chart1.Series("Temperature").Points.AddXY(Seconde, Temperature)
    
            Next
            Chart1.ResumeLayout()
    
    
            If Temperature = 60 Then
                Timer1.Enabled = False
                MessageBox.Show("Erreur de Temperature!")
            End If
    
        End Sub
    End Class


    vendredi 7 octobre 2016 14:40