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 :
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 :
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
Graphique crée par le code suivant :
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 :
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
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.
Partager