我有一个我的图表的x值数组和一个包含y值的Linq to Entity LIST。如何访问我的列表以将其值添加到图表中。这就是我到目前为止所做的:
//Get restaurant name & count of votes for each restaurant
BL.BLaddVote obj1 = new BLaddVote();
var votesList = obj1.countVotes();
//Set chart x & y values: here is where I'm stuck
chtVotes.Series[0].Points.Add(<X VALUES>, <Y VALUES>);
如何将我的无序列表中的值添加到我的图表中?提前谢谢。
此外,这是拉取数据的查询:
public class NumVotesInfo
{
public string RestName { get; set; }
public int NumVotes { get; set; }
}
public IEnumerable<NumVotesInfo> countVotes()
{
//Return the count of the number of reviews for a specific restaurant ID
var NumVotes = from VOTE in db.VOTEs
group VOTE by VOTE.VOTE_VALUE into t
select new NumVotesInfo { RestName = t.Key, NumVotes = t.Count() };
return NumVotes.ToList();
}
答案 0 :(得分:1)
好像你想要合并X值列表和Y值列表:
var pointList = myXValues.Zip(votesList, (a,b) => new { X = a, Y = b.NumVotes });
现在,X
中有Y
和pointList
个属性,可以将其用于制图:
foreach(var point in pointList)
chtVotes.Series[0].Points.Add(point.X, point.Y);
或者,假设两个列表的长度相同,您只需使用索引即可。这需要countVotes()
返回不是IEnumerable
的列表,您可以使用ToList()
创建列表:
var votesList = obj1.countVotes().ToList();
现在你可以使用索引:
for(int i = 0; i< votesList.Count, i++)
{
chtVotes.Series[0].Points.Add(myXValues[i], votesList[i].NumVotes);
}