【问题标题】:DotNet.HighCharts - PieChart by populating data by codeDotNet.HighCharts - 通过代码填充数据的饼图
【发布时间】:2014-01-03 23:12:33
【问题描述】:

我正在查看 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())
           });

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

非常感谢您的帮助。

【问题讨论】:

  • 您收到任何错误吗?解析后你的数据是什么样子的?我在javascript中的意思? (可以在JS中使用console.log(data))
  • 嗨塞巴斯蒂安,感谢您使用 console.log 的建议,我什至没有考虑过。有数据,但是很乱。这是它的截图:tinypic.com/r/346ozti/5 所以我肯定没有正确设置数组。从截图中可以很明显的看出。我认为这是因为我应该只做一次“ToArray()”两次。我会继续努力的。谢谢!

标签: c# highcharts dotnethighcharts


【解决方案1】:

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

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

饼图完美呈现。 是的,我在“browers”上犯了一个拼写错误……但至少饼图现在出现了:)

【讨论】:

    【解决方案2】:
    .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() })
             });
    

    嗨,这段代码对我有用。

    【讨论】:

    • 'ltrPiechart.Text = (chart2.ToHtmlString().Replace("[[","[")).Replace("]]","]");
    猜你喜欢
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    相关资源
    最近更新 更多