我正在看DotNet.HighCharts,并开始尝试理解它。我想做一些更"简单"的事情,只是为了掌握它,比如饼图。
我查看了以下链接 DotNet HighCharts ,用查询结果填充饼图,并想尝试从代码隐藏填充数据。 我非常想把它弄傻,这样我就可以学习和理解它。在我学习如何使用它运行并从数据库中填充之前,先了解如何进行爬网。
我在想我不明白如何正确设置系列数据。这就是我填充系列对象的方式:
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())
});
当前图表不显示任何数据。 它只是空白的。有人能指出我做错了什么的正确方向吗?
非常感谢您的帮助。
我分解了它,并试图理解我做错了什么。对于饼图,我不需要系列。所以基本上当创建对象列表时,我只需要将数据设置为该列表,例如:
.SetSeries(new Series
{
Type = ChartTypes.Pie,
Name = "Browser share",
Data = new Data(browsers.ToArray())
});
饼图完美地出现了。是的,我在"眉毛"上犯了一个拼写错误......但至少饼图现在显示:)<</p>
.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() })
});
嗨,这段代码对我有用。