我有这段代码:
var temp = allsuminterestarray.OrderBy(i => int.Parse(i)).GroupBy(i => i);
int[] forvaluescount = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50};
int j = 0;
foreach (var val in temp)
{
Console.WriteLine(val.Key + " " + val.Count());
while ((forvaluescount[j] < Convert.ToInt32(val.Key)) && (forvaluescount[j] != Convert.ToInt32(val.Key)))
{
probabilities.Series["Series1"].Points.AddXY(forvaluescount[j], 0/trials);
j++;
}
j++;
probabilities.Series["Series1"].Points.AddXY(val.Key, val.Count()/trials);
}
注意:temp
具有配对值。例如:
(11,1),
(14,1),
(18,1),
(19,3),
(20,1),
(21,3),
(22,1),
(24,3),
(27,1),
(29,2),
(30,1),
(31,2)作为C#中图表的X和Y值。
基本上这里发生的事情就是说val.Key
的值为11。代码应该工作,它将分配给1-10的CHART值为X,0为Y.然后11为X,其对应的Y值。
循环将继续,以使temp
的值之间不存在缺失值。
我相信代码没有问题,因为它会输出连续的值。
这里的问题是,即使我按顺序绘制X和Y,我得到这样的图形:
我期待与此类似的图片(仅使用temp
的值生成:
然而,应该没有(X,0)的缺失图。
请帮忙谢谢!