图表不会显示数据点

Chart will not display DataPoints

我正在尝试使用字典中的值创建 Chart,但是我的 Chart 没有显示任何内容。我的代码运行良好,没有错误,我在表格上有一个图表。

我以前从未用 C# 制作过图表,所以我不知道我在做什么。

这是我填写的代码。

如果我删除 StatChart.update(),它将在图表上显示 Dictionary 中的项目总数,但仅此而已

    private void FillStatChart(Dictionary<string, int> 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<string, int> pair in dictionary)
            {
                for (int idx = 0; idx < dicLength; idx++)
                {
                    point.SetValueXY(idx, pair.Value);

                    StatChart.Update();
                }
            }
        }
    }

您需要 Add 新的 DataPointsPoints collection。

改变这个:

    foreach (System.Windows.Forms.DataVisualization.Charting.DataPoint point in StatChart.Series["Occurences"].Points)
    {
        foreach (KeyValuePair<string, int> pair in dictionary)
        {
            for (int idx = 0; idx < dicLength; idx++)
            {
                point.SetValueXY(idx, pair.Value);

                StatChart.Update();
            }
        }
    }

对此:

    Series S = StatChart.Series["Occurences"];
    for (int idx = 0; idx < dicLength; idx++)
    {
        KeyValuePair<string, int> pair = dictionary.ElementAt(idx);
        S.Points.AddXY(idx, pair.Value);
        S.Points[idx].ToolTip = pair.Key;  // optional tooltip
    }

SetValueXY 仅用于 更改 以后 DataPoint 的值。