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 :

Aligner/Superposer les séries dans un chart


Sujet :

VB.NET

  1. #1
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut Aligner/Superposer les séries dans un chart
    Bonjour à toutes et à tous,

    Je m'inscris à l'instant sur ce beau forum (qui m'a énormément aidé d'ailleurs) pour vous soumettre un problème qui me fait m'arracher les cheveux tant il parait si simple... mais il est si compliqué pourtant ! J'espère de tout coeur que vous pourrez me porter main forte !

    Alors voilà, j'ai programmé sous vb net (avec visual studio), un graphique en barres alimenté par une requete SQL, donc j'ai tout paramétré (selon moi) comme il le faut, néanmoins je fais face à un grand problème:

    Je voudrais tout simplement aligner mes séries pour que les barres s'affichent les unes derrières les autres et non l'une sur l'autre (dans le cas du stacked column...)

    Donc j'ai essayé d'abord de paramétrer mes séries en "stacked column", et comme je le dis plus haut, mes séries s'empilent et ne se superpose pas, ce qui fait que là où je devrais avoir en valeur max 25000 par exemple et bien j'ai plus de 50000 car les valeurs s'additionnent et ne se superposent pas... Voici le résultat:

    Nom : 2016-05-17_10h50_58.png
Affichages : 512
Taille : 17,7 Ko

    J'ai également essayé avec la méthode "column" et "range column" mais impossible pour moi de régler les intervalles et la superposition (comme sur Excel quoi)... donc là même problème différent, les séries sont les unes à côté des autres... Voici le résultat:

    Nom : 2016-05-17_10h49_08.png
Affichages : 498
Taille : 24,2 Ko

    Voici le code (dans l'état, il est paramétré pour obtenir le résultat column, donc celui juste au dessus):
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
        Public Function AfficherGraph(TypeEquip As String)
            Dim TABLE_VALEURS As New Data.DataTable("RECHERCHES")
            Dim Requette As String = ""
            Dim Valeur As Long
            Dim SommeValeur As Long = 0
     
            Dim ChartArea As New ChartArea()
            ABAQUES.CH_LIM.ChartAreas.Add(ChartArea)
     
            Requette = "SELECT * FROM MOTEUR_CARAC, MOTEUR_LIMITE WHERE MOTEUR_CARAC.ID_MOT = MOTEUR_LIMITE.ID_MOT AND MOTEUR_LIMITE.TYPE_LIM = '" & TypeEquip & "' ORDER BY MOTEUR_CARAC.ID_MOT DESC"
            cmd = New SqlCommand(Requette, ConSMG_TOOLS) : If ConSMG_TOOLS.State = ConnectionState.Closed Then ConSMG_TOOLS.Open() : myDA = New SqlDataAdapter(cmd)
                myDataSet = New DataSet() : myDA.Fill(myDataSet, "MyTable") : TABLE_VALEURS = myDataSet.Tables("MyTable") : ConSMG_TOOLS.Close()
     
     
     
             For i = 0 To TABLE_VALEURS.Rows.Count - 1
     
     
                ABAQUES.CH_LIM.Series.Add("Serie" & i)
                ABAQUES.CH_LIM.Series("Serie" & i).ChartArea = ChartArea.Name
                ABAQUES.CH_LIM.Series("Serie" & i).ChartType = SeriesChartType.Column
     
                ABAQUES.CH_LIM.Series("Serie" & i).IsXValueIndexed = True
     
                'Verif colonne 400
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR400")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR400") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 400
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR400")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
     
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 600
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR600")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR600") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 600
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR600")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 800
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR800")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR800") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 800
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR800")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 1000
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR1000")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR1000") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 1000
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR1000")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 1200
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR1200")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR1200") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 1200
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR1200")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 1400
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR1400")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR1400") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 1400
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR1400")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 1500
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR1500")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR1500") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 1500
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR1500")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 1600
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR1600")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR1600") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 1600
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR1600")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 1800
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR1800")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR1800") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 1800
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR1800")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 2000
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR2000")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR2000") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 2000
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR2000")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 2200
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR2200")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR2200") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 2200
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR2200")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 2400
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR2400")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR2400") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 2400
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR2400")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 2600
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR2600")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR2600") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 2600
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR2600")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 2800
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR2800")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR2800") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 2800
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR2800")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'Verif colonne 3000
                For j = 0 To TABLE_VALEURS.Rows.Count - 1
     
                    Valeur = TABLE_VALEURS.Rows(j).Item("LAR3000")
                    SommeValeur = SommeValeur + Valeur
     
                Next j
     
                If SommeValeur <> 0 Then
                    'If TABLE_VALEURS.Rows(i).Item("LAR3000") <> 0 Then
                    Dim p As New DataPoint
                    p.XValue = 3000
                    p.YValues = {TABLE_VALEURS.Rows(i).Item("LAR3000")}
                    ABAQUES.CH_LIM.Series("Serie" & i).Points.Add(p)
                End If
                'End If
     
                SommeValeur = 0
     
                'ABAQUES.CH_LIM.Series("Serie" & i)("StackedGroupName") = "Group1"
     
                'ABAQUES.CH_LIM.Series("Serie" & i).Name = TABLE_VALEURS.Rows(i).Item("REF_MOT")
     
            Next i
     
            ABAQUES.CH_LIM.BackColor = Color.DimGray
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").BackColor = Color.DimGray
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisX.LineColor = Color.LightGray
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisY.LineColor = Color.LightGray
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisX.MajorGrid.LineColor = Color.LightGray
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisX.MajorGrid.Interval = 0
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisY.MajorGrid.LineColor = Color.LightGray
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisY.MajorGrid.Interval = 0
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisX.LabelStyle.ForeColor = Color.LightGray
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisY.LabelStyle.ForeColor = Color.LightGray
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisX.Title = "Largeur (mm)"
            ABAQUES.CH_LIM.ChartAreas("ChartArea1").AxisY.Title = "Longueur (mm)"
     
            Dim Legende As New Legend
     
                Legende.LegendStyle = LegendStyle.Column
                ABAQUES.CH_LIM.Legends.Add(Legende)
                ABAQUES.CH_LIM.Legends(0).BackColor = Color.DimGray
                ABAQUES.CH_LIM.Legends(0).BorderColor = Color.DimGray
            ABAQUES.CH_LIM.Legends(0).ForeColor = Color.LightGray
     
     
            Return ("")
        End Function
    Donc voilà, j'espère avoir été assez clair dans mes propos et que vous comprenez ma demande... pour résumer... je voudrais superposer mes séries et non les additionner ou les séparer... donc soit en fixant la stacked column à ma valeur max et non sur une addition de valeurs, soit en superposer mes séries en column...

    Pour être encore plus précis voici le résultat (fait par Excel en deux clics...) du résultat voulu:

    Nom : 2016-05-17_10h51_26.png
Affichages : 528
Taille : 11,8 Ko

    Si vous avez des questions ou des détails, n'hésitez pas à me les demander, j'espère de tout coeur que vous pourrez m'aider et je vous en remercie d'avance, car ce graphique est entrain de me sortir par les yeux car je ne comprend pas comment quelque chose qui parait si simple devient soudain si difficile...

    Cordialement, Gav" !
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  2. #2
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Hum, je ne comprend pas trop quel est ton besoin. Pour moi la seule différence entre le premier graphique et le dernier (la "cible") il n'y a qu'une différence d'ordre. Je me trompe?

  3. #3
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Merci pour votre réponse,

    et non, la grande différence entre le premier et la cible, c'est que dans le premier les séries s'empilent et s'additionne ce qui fait que la valeur max se fixe à plus de 50000, hors, je suis censé obtenir en valeur max 25000...

    En fait, lorsque j'effectue mon stacked column, les séries se mettent les unes sur les autres et moi j'aimerais qu'elles s'affichent les unes derrière les autres ? Suis-je clair ?

    C'est à dire que la valeur la plus forte se trouve derrière et fixe la valeur max (en l'occurrence ici 25000, puis les autres se fixent devant...)

    En clair:

    -La barre jaune que l'on voit dans le premier graphique, représente la barre grise de la cible,

    -La rouge représente la orange

    -La bleue foncée représente la bleue

    -Et la bleue claire représente la jaune...

    En fait j'aimerais que chaque column sur un même point commence à 0...

    J'espère que c'est compréhensible, il faut qu'elles soient les unes derrière les autres et non pas les unes sur les autres...
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    Je rejoins ZenZiTone, c'est à dire que le premier graphe et la cible sont construit de facon identique, seules les amplitudes changent, donc il faut adapter les amplitudes du premier pour qu'il devienne la cible. Tu dis qu'avec Excel ça prend 2 cliques ! Ok ! Mais c'est pas pour ça que ça va te prendre 2 lignes de code à le faire ... Des Trucs en 2 cliques sur Excel qu'il faut 2 jours à coder je pense qu'on aura pas besoin d'aller loin pour en trouver .

    Tu dis
    ... il faut qu'elles soient les unes derrière les autres et non pas les unes sur les autres
    Donc il te reste à soustraire les valeurs pour ne rajouter que la différence et éviter l'effet 'les unes sur les autres'.

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  5. #5
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Ahhhh mais p... mais oui ! J'avais pas du tout pensé à cette solution ! Merci beaucoup, je m'en vais essayer de suite ! (Et je m'en veux un peu x))

    Je vous tiens au jus, si ça marche j'éditerais ce post et le topic pourra être résolu ! Tu m'as redonné espoir merci ! ^^

    EDIT: Niquel ! Je vous remercie du fond du coeur !

    Résolu !
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  6. #6
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Je crois que j'ai compris

    Dans ton exemple, chaque série démarre bien à 0? Tu souhaites donc avoir le résultat de la deuxième image mais dans un affichage différent : les plus petits devant et les plus grand derrière?

    Dans ces conditions il est préférable ne de pas utiliser les stacked bar (qui ne sont pas prévues à cet effet), mais de trouver la propriété te permettant de gérer l'affichage des bars.

    La solution de J@ckHerror fonctionnerait, mais ça te force à faire des traitement de données avant l'affichage...

  7. #7
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Merci pour votre réponse ^^ Effectivement j'avais déjà compris que les colonnes simples me seraient plus utiles pour ce type de graph, néanmoins impossible pour moi de retrouver les bons paramètres d'affichages concernant la superposition et les intervalles, rien ne semblait fonctionner (pas d'erreurs, juste que ça ne bougeait rien)

    La solution de J@ckHerror fonctionne très bien et le traitement supplémentaire des données dans ma boucle n'est pas lourd du tout, je préfère donc opter pour cette solution, si jamais j'en vois des limites je reviendrais par ici, en tout cas, merci à tous ! ^^
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  8. #8
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Je ne serai pas étonné que la solution de JackHerror soit la seul disponible (aussi sur Excel).

    Il faut aussi penser à gérer l'ordre (savoir si les petites valeur doivent forcément s'afficher ou si dans certain cas elle peuvent être cachée), ceci d'autant plus que ça peut changer pour "chaque X".

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/05/2012, 13h22
  2. [AC-2007] Aligner les champs dans un formulaire
    Par patb12 dans le forum IHM
    Réponses: 4
    Dernier message: 26/04/2010, 16h14
  3. Réponses: 2
    Dernier message: 25/03/2009, 10h42
  4. Aligner les item dans une description
    Par Ladgalen dans le forum Mise en forme
    Réponses: 2
    Dernier message: 03/02/2009, 15h01
  5. Virgule refusée entre les séries dans INSERT INTO
    Par patic dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/01/2009, 12h29

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