图表不会显示DataPoints

时间:2015-05-07 09:09:28

标签: c# winforms charts

我正在尝试使用字典中的值创建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();
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

您需要AddDataPointsPoints集合。

改变这个:

    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的值。