J’essaie de faire un Chart
utilisant les valeurs d’un dictionnaire mais mon Chart
n’affiche rien. Mon code fonctionne correctement sans erreur et j’ai un graphique sur un formulaire.
Je n’avais jamais fait de graphique en C #, je n’ai donc aucune idée de ce que je fais.
Ceci est mon code pour le remplir.
Si je supprime StatChart.update()
il affichera le nombre total d’éléments du Dictionary
sur le graphique, mais c’est tout.
private void FillStatChart(Dictionary dictionary) { int dicLength = dictionary.Count; StatChart.Series.Clear(); StatChart.Series.Add("Occurences"); foreach (System.Windows.Forms.DataVisualization.Charting.DataPoint point in StatChart.Series["Occurences"].Points) { foreach (KeyValuePair pair in dictionary) { for (int idx = 0; idx < dicLength; idx++) { point.SetValueXY(idx, pair.Value); StatChart.Update(); } } } }
Vous devez Add
les nouveaux DataPoints
à la collection de Points
.
Change ça:
foreach (System.Windows.Forms.DataVisualization.Charting.DataPoint point in StatChart.Series["Occurences"].Points) { foreach (KeyValuePair pair in dictionary) { for (int idx = 0; idx < dicLength; idx++) { point.SetValueXY(idx, pair.Value); StatChart.Update(); } } }
pour ça:
Series S = StatChart.Series["Occurences"]; for (int idx = 0; idx < dicLength; idx++) { KeyValuePair pair = dictionary.ElementAt(idx); S.Points.AddXY(idx, pair.Value); S.Points[idx].ToolTip = pair.Key; // optional tooltip }
SetValueXY
sert uniquement à modifier les valeurs d'un DataPoint
ultérieurement.