DotNet.HighCharts - 通过代码填充数据的PieChart

时间:2014-01-03 23:12:33

标签: c# highcharts dotnethighcharts

我正在看DotNet.HighCharts并开始尝试理解它。 我想做更多的事情"简单"只是为了像饼图那样掌握它。

我查看了以下链接DotNet HighCharts , Populates a pie with the result of a query,并希望尝试从后面的代码填充数据。我想要愚蠢到很多,这样我才能学习和理解它。在学习使用它并从数据库中填充之前,先了解如何抓取。

我认为我不理解如何正确设置系列数据。 这就是我填充系列对象的方式:

  var browers = new List<object[]>();
  browers.Add(new object[] { "Firefox", 35.0 });
  browers.Add(new object[] { "IE", 25 });
  browers.Add(new object[] { "Safari", 20 });
  browers.Add(new object[] { "Opera", 15 });
  browers.Add(new object[] { "Others", 5 });

  List<Series> browserSeries = new List<Series>();

  //I think this is causing the problem
  browserSeries.Add(new Series
  {
        Name = "Browsers",
        Data = new Data(browers.ToArray())
  });

然后就像链接一样在这里完成:

    .SetSeries(new Series
           {
               Type = ChartTypes.Pie,
               Name = "Browser share",
               Data = new Data(browserSeries.Select(b => new { Name = b.Name, Y = b.Data }).ToArray())
           });

目前图表不显示任何数据。它只是空白。 有人能指出我做错了什么的正确方向吗?

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:2)

我打破了它并试图了解我做错了什么。 对于饼图,我不需要一个系列。 所以基本上在创建对象列表时,我只需要将数据设置为该列表,如:

.SetSeries(new Series
 {
    Type = ChartTypes.Pie,
    Name = "Browser share",
    Data = new Data(browsers.ToArray())
 });

饼图显得很完美。 是的,我用“浏览器”拼错了...但至少饼图现在出现了:)

答案 1 :(得分:0)

.SetSeries(new Series
         {
            Type = ChartTypes.Pie,
            Name = "Browser share",
            Data = new Data(new object[] { browers.Select(b => new {Name =b.GetValue(0), Y = b.GetValue(1) }).ToArray() })
         });

嗨,这段代码对我有用。