我正在尝试使用字典中的值创建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();
}
}
}
}
答案 0 :(得分:1)
您需要Add
新DataPoints
到Points
集合。
改变这个:
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
的值。