我在与D3斗争。我有一个数据集,我正在拉入D3,并填充条形图。问题是酒吧太多了!我想只显示前10个值。
我的csv有两个值,键(列标题)是“Name”,值是“NumberOfTickets”。我想只显示10张票数最多的名字。我假设我需要对数据集进行排序和拼接,但我已经尝试了所有内容并且无法使其工作。似乎大多数教程都面向简单数组,而不是来自具有键值对的CSV的数据集。任何帮助,将不胜感激。这是我的D3代码的数据集部分。我认为这是我需要操作数据集的地方:
var report = data.forEach(function(d){
d.Name= d.Name;
d.NumberOfTickets= +d.NumberOfTickets;
});
答案 0 :(得分:2)
试试这个:
var report = data.sort(function(a, b) {
return d3.descending(+a.NumberOfTickets, +b.NumberOfTickets);
}).slice( 0, 10);
如果您想获得票数较少的名称,只需更改为“升序”即可。如果要更改切片,请记住起始编号是包含的,但结尾编号不是。