我正在看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())
});
目前图表不显示任何数据。它只是空白。 有人能指出我做错了什么的正确方向吗?
非常感谢你的帮助。
答案 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() })
});
嗨,这段代码对我有用。