Bonjour,

Je développe une application à l'aide de la technologies windows form, avec le .NET 4.5 et Visual Studio 2012.

L'application aura pour but d'afficher plusieurs graphiques possédant plusieurs séries. Néanmoins je rencontre un probleme avec un graphique :

Ma table de donnée est comme tel :

La première ligne doit faire de 0 jusqu’à 830. Puis de 830 jusqu’à 1000.
La seconde ligne doit faire de 0 jusqu'a 800.
La troisième ligne doit faire de 0 jusqu'a 2600.
La quatrième ligne doit faire de 0 jusqu'a 3800.
La cinquième ligne doit faire de 0 jusqu'a 200.
La sixième ligne doit faire de 0 jusqu'a 800.
La septième ligne doit faire de 0 jusqu'a 200.

J'ai presque obtenu ce que je souhaitais, ce qui ressemble à cela :



J'affiche ce graphique à l'aide de ce code ci :

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
 
        Dim ChartArea1 As New ChartArea()
        Dim requete As String
        requete = "SELECT * FROM Table"
        objDR = RequeteSELECT(requete)
        objDR.Read()
 
        Chart1.Series.Clear()
        Chart1.ChartAreas.Clear()
        Chart1.ChartAreas.Add(ChartArea1)
        Chart1.ChartAreas("ChartArea1").Area3DStyle.Enable3D = False
 
        Dim series1 As New Series
        series1.ChartType = SeriesChartType.Line
        series1.BorderWidth = 5
        series1.Points.AddXY(objDR.Item(1), objDR.Item(3))
        series1.Points.AddXY(objDR.Item(1), objDR.Item(4))
        Chart1.Series.Add(series1)
        While objDR.Read
            Dim seriesn As New Series
            seriesn.ChartType = SeriesChartType.Line
            seriesn.BorderWidth = 5
            seriesn.Points.Clear()
            seriesn.Points.AddXY(objDR.Item(1), objDR.Item(3))
            seriesn.Points.AddXY(objDR.Item(1), objDR.Item(4))
            Chart1.Series.Add(seriesn)
        End While
Sauf que, mon objectif est d'afficher ceci sous forme de ligne horizontal plutot que vertical. J'ai donc inverser mes Point X et Y dans chaques lignes, mais la, j'obtient un résultat que je trouve plutot incohérent :



Graphique crée par le code suivant :

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
 
        Dim ChartArea1 As New ChartArea()
        Dim requete As String
        requete = "SELECT * FROM Table"
        objDR = RequeteSELECT(requete)
        objDR.Read()
 
        Chart1.Series.Clear()
        Chart1.ChartAreas.Clear()
        Chart1.ChartAreas.Add(ChartArea1)
        Chart1.ChartAreas("ChartArea1").Area3DStyle.Enable3D = False
 
        Dim series1 As New Series
        series1.ChartType = SeriesChartType.Line
        series1.BorderWidth = 5
        series1.Points.AddXY(objDR.Item(3), objDR.Item(1))
        series1.Points.AddXY(objDR.Item(4), objDR.Item(1))
        Chart1.Series.Add(series1)
        While objDR.Read
            Dim seriesn As New Series
            seriesn.ChartType = SeriesChartType.Line
            seriesn.BorderWidth = 5
            seriesn.Points.Clear()
            seriesn.Points.AddXY(objDR.Item(3), objDR.Item(1))
            seriesn.Points.AddXY(objDR.Item(4), objDR.Item(1))
            Chart1.Series.Add(seriesn)
        End While
J'ai donc penser que mon type de graphique n'etait pas le bon. J'ai modifier mon graphique en BAR, mais le résultat n'etait toujours pas satisfaisant :
Les deux ligne placé le plus en haut devrait se placer sur la même ligne et au lieu de ca, le graphique crée deux lignes bien distincte.



Le resultats qui a été le plus concluant à donc été les lignes, mais je voudrait faire apparaitre ces lignes de facon horizontal.
Y'a t il un autre mode de graphique plus approprié ?

Merci de m'avoir lu jusqu'au bout.