Le graphique n’affichera pas de points de données

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.