C# 具有IQueryable的MVC图表

C# 具有IQueryable的MVC图表,c#,asp.net-mvc,web,charts,C#,Asp.net Mvc,Web,Charts,我试图从数据库中的一些值创建一个图表 到目前为止,我想用以下值创建图表 public class Acqusition{ public double Sum {get; set;} public double Chance {get; set;} 到目前为止我得到的代码是: var acquisitions = from ac in db.Acquisitions select ac; foreach (var a in acquisitions

我试图从数据库中的一些值创建一个图表

到目前为止,我想用以下值创建图表

public class Acqusition{
public double Sum {get; set;}
public double Chance {get; set;}
到目前为止我得到的代码是:

var acquisitions = from ac in db.Acquisitions 
                       select ac;
foreach (var a in acquisitions)
{
    sums.Add(a.Sum.ToString());
}
foreach (var a in acquisitions)
{
    chances.Add(a.Chance.ToString());
}

if (acquisitions != null)
{
    var key = new Chart(width: 600, height: 300)
                  .AddTitle("Acquisitions")
                  .AddSeries(
                     chartType: "Bubble",
                     name: "AcquisitionChart",
                     xValue: new[] { chances[0], chances[1], chances[2] },
                     yValues: new[] {sums[0], sums[1], sums[2]});
                     //xValue: new[] { "Peter", "Andrew", "Julie", "Dave" },
                    //yValues: chances);

     return File(key.ToWebImage().GetBytes(), "image/jpeg");
 }
我要找的是一个按机会值排序的图表。不知何故,我有一种感觉,一旦我知道了解决办法,它就相当容易了,但我似乎无法正确地找到它

PS:System.Web.Helpers.Chart是我正在使用的

问候语

您可以尝试以下方法:

var acquisitions = from ac in db.Acquisitions
                   order by ac.Chance 
                   select ac;
foreach (var a in acquisitions)
{
    chances.Add(a.Chance.ToString());
    sums.Add(a.Sum.ToString());
}

按几率值排序,您的意思是:xValues:chances.OrderByc=>c.ToArray?@JeffreyZhang有点像是,但总和值必须以相同的方式排序,否则数据会在图表上被压缩。我想在图表上显示每个采集的采集1气泡,按采集机会排序。好的,现在使用采集=采集,排序非常简单。OrderByo=>o.chance;我现在剩下的唯一问题是如何创建一个图表,它显示所有的值。您希望以什么方式显示图表?图像?@JeffreyZhang是的,作为问题代码中的图像。显示效果很好我唯一的问题是用列表填充xValue和yvalue。谢谢,我现在做的与上面的注释略有不同。但我仍然面临的问题是,如何在图表中显示所有的值,这是我无法理解的。