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

Langages Discussion :

Variable et series Graphique dynamique [Débutant]


Sujet :

Langages

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 64
    Points
    64
    Par défaut Variable et series Graphique dynamique
    Bonjour,

    Je viens vers vous car j'ai un souci de définition de variable ou autre pour un graphique dynamique.

    Explication de ce que je cherche à faire.

    L'utilisateur sélectionne les voies qu'il veut afficher dans le graphique. Le nombre de voie est variable.
    Une fois les voies sélectionnées, j'aimerai créer automatiquement les variables "séries" pour les voies sectionnées.

    Exemple :
    L'utilisateur choisi 4 voies à visualiser, et automatiquement il y a 4 variable séries qui se génère.

    J'utilise le tuto : http://plasserre.developpez.com/cours/chart/ , pour réaliser et m'aider pour ce que je souhaite faire.


    Coté code je suis parti de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
             Dim series1 As New Series()
    Mais ce qui indique que je dois créer une multitude de variable ce que je ne souhaite pas.

    Donc je me suis dit que je pourrais essayer cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Chart1.Series(i).Points(i).YValues(i)=Array(i)
    Avec i en auto-incrémentation.

    Mais bon rien de concluant.

    Donc si quelqu'un peut me guider, m'orienter, afin que je puisse arriver à avancer.

    Nota je ne cherche pas une réponse direct mais des solutions qui me guideront.

    Merci d'avance.

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 64
    Points
    64
    Par défaut Complément
    Voici un code de simulation avec lequel j'essai de trouver une solution:

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     
            'Créer un Chart
            Dim Chart2 As New Chart
     
     
            ' Créer ChartArea 
            Dim ChartArea1 As New ChartArea()
     
            ' Ajouter le  Chart Area à la Collection ChartAreas du  Chart
            Chart2.ChartAreas.Add(ChartArea1)
     
            Dim series1 As New Series() <= Ici j'aimerai que la déclaration se réalise et se créer en nombre de voie sélectionnée.
            Dim series2 As New Series()
     
     
            Dim Series(2) As Series
     
     
            series1.ChartType = SeriesChartType.Line
            series2.ChartType = SeriesChartType.Line
     
            series1.Color = Grap_Color(1)
            series2.Color = Grap_Color(2)
     
            ' selection du type de graphique
            Select Case Grap_type_courbe
                Case "Ligne"
                    Suppression_graph()
                    series1.ChartType = SeriesChartType.Line
                    series2.ChartType = SeriesChartType.Line
     
                Case "Point"
                    Suppression_graph()
                    series1.ChartType = SeriesChartType.Point
                    series2.ChartType = SeriesChartType.Point
                Case "Courbe"
                    Suppression_graph()
                    series1.ChartType = SeriesChartType.Spline
                    series2.ChartType = SeriesChartType.Spline
                Case "Carré"
                    Suppression_graph()
                    series1.ChartType = SeriesChartType.StepLine
                    series2.ChartType = SeriesChartType.StepLine
            End Select
     
            'Choix du type de marker
            '   series1.MarkerStyle = MarkerStyle.Triangle
            'Couleur du marker
            ' series1.MarkerColor = Color.Black
     
     
    ' Création des courbes en fonction des données
            Do While (i < k)
                series1.Points.Add(Grap_Nom_InOut(i))
                'Chart2.Series(i).Points(i).YValues(i) = Grap_Sel_CB(i)
                series2.Points.Add(Grap_Sel_CB(i))
     
                i = i + 1
            Loop
            i = 0
     
            'Line d'épaisseur 3
            series1.BorderWidth = 3
     
            'On indique d'afficher ces Series sur le ChartArea1
            series1.ChartArea = "ChartArea1"
            series2.ChartArea = "ChartArea1"
            ' Ajouter les series à la collection Series du chart
            Chart2.Series.Add(series1)
            Chart2.Series.Add(series2)
            ' Positionner le controle Chart
            Chart2.Location = New System.Drawing.Point(0, 0)
     
            ' DiMorceaunsionner le Chart
            Chart2.Size = New System.Drawing.Size(Me.SplitContainer1.Panel2.Width - 10, Me.SplitContainer1.Panel2.Height - 10)
     
            ' Ajouter le chart à la form
            Me.SplitContainer1.Panel2.Controls.Add(Chart2)
        End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 64
    Points
    64
    Par défaut Réponse et solution
    Après un forçage et obstination,

    La réponse et le résultat es-conté.

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     
            'Créer un Chart
            Dim Chart2 As New Chart
     
            ' Créer ChartArea (zone graphique)
            Dim ChartArea1 As New ChartArea()
     
            ' Ajouter le  Chart Area à la Collection ChartAreas du  Chart
            Chart2.ChartAreas.Add(ChartArea1)
     
            ' Définition du fond
            Chart2.BackColor = Color.Transparent
            ChartArea1.BackColor = Color.Transparent
            Me.SplitContainer1.Panel2.BackColor = Color.Transparent
     
            ' Initialisation de la variable
            i = 1
            'Création du nombre de serie en fonction de Nombre de voie selectionnées
            Do While (i <= Nbr_control)
                Chart2.Series.Add(i)
                i = i + 1
            Loop
     
            'Suppression du graphique
            Suppression_graph()
     
            ' selection du type de graphique
            Select Case Grap_type_courbe
                Case "Ligne"
                    Grap_Type = SeriesChartType.Line
     
                Case "Point"
                    Grap_Type = SeriesChartType.Point
     
                Case "Courbe"
                    Grap_Type = SeriesChartType.Spline
     
                Case "Carré"
                    Grap_Type = SeriesChartType.StepLine
     
            End Select
     
            'Choix du type de marker
            ' series1.MarkerStyle = MarkerStyle.Triangle
            'Couleur du marker
            'series1.MarkerColor = Color.Black
     
            ' Initialisation de la variable
            i = 0
            Do While (i < k)
     
                If (J <> Nbr_control) Then
     
                    ' Définition du type de graphique
                    Chart2.Series(J).ChartType = Grap_Type
                    ' Définition des points par séries
                    Chart2.Series(J).Points.AddXY(i, Grap_Sel_CB(i))
                    ' Définition de la zone d'affichage
                    Chart2.Series(J).ChartArea = "ChartArea1"
                    ' Custom du graphique - Epaisseur des courbes
                    Chart2.Series(J).BorderWidth = 1
                    J = J + 1
                Else
                    J = 0
                End If
                i = i + 1
            Loop
            ' Initialisation de la variable
            i = 0
     
            'Définition de la position du graphique
            Chart2.Location = New System.Drawing.Point(0, 0)
     
            ' Dimension du graphique
            Chart2.Size = New System.Drawing.Size(Me.SplitContainer1.Panel2.Width - 10, Me.SplitContainer1.Panel2.Height - 10)
     
            ' Ajouter le chart à la form
            Me.SplitContainer1.Panel2.Controls.Add(Chart2)
     
        End Sub
     
     
        Sub Suppression_graph()
            Dim Ctrl As Control
            For Each Ctrl In Me.SplitContainer1.Panel2.Controls
                If TypeOf Ctrl Is Chart Then
                    Ctrl.Dispose()
                    ' Me.SplitContainer1.Panel2.Controls.Remove(Ctrl)
                End If
            Next
        End Sub
    Enfin voilà, j'ai réussi a faire un graphique dynamique.

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

Discussions similaires

  1. Graphique Dynamiques et source de données variables
    Par spartan_29 dans le forum Excel
    Réponses: 14
    Dernier message: 05/05/2015, 14h14
  2. Graphique Dynamique de deux variables
    Par katze dans le forum Android
    Réponses: 3
    Dernier message: 08/07/2013, 00h05
  3. graphique dynamiques (offset, series, array formula)
    Par speedy_g dans le forum Excel
    Réponses: 2
    Dernier message: 27/05/2011, 09h21
  4. Réponses: 4
    Dernier message: 09/03/2005, 11h13
  5. [VB6] creation de variable de type string dynamiquement
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 12/06/2003, 16h59

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