Nests
类似于groupby的含义
https://github.com/d3/d3/blob/master/API.md#nests
var persons =[
{"name":"wang",age:17,gender:"man"},
{"name":"zhang",age:14,gender:"man"},
{"name":"li",age:16,gender:"man"},
{"name":"zhou",age:17,gender:"woman"},
]
//groupby
var nest = d3.nest()
.key((d)=>d.gender) //groupby gender
.entries(persons)
//groupby后按key排序
var nest = d3.nest()
.key((d)=>d.gender) //groupby gender
.sortKeys(d3.descending) //key 按降序
.entries(persons)
//groupby后按value排序
var nest = d3.nest()
.key((d)=>d.gender) //groupby gender
.sortValues((a,b)=>d3.ascending(a.age,b.age)) //key 按降序
.entries(persons)
//多次groupby
var nest = d3.nest()
.key((d)=>d.gender) //groupby gender
.key((d)=>d.age)// groupby age groupby两次
.entries(persons)
//groupby后聚合,统计每个性别的个数
var nest = d3.nest()
.key((d)=>d.gender) //groupby gender
.rollup((values)=>values.length)// groupby age groupby两次
.entries(persons)
d3.nest - create a new nest generator.
nest.key - add a level to the nest hierarchy.
nest.sortKeys - sort the current nest level by key.
nest.sortValues - sort the leaf nest level by value.
nest.rollup - specify a rollup function for leaf values.
nest.map - generate the nest, returning a map.
nest.object - generate the nest, returning an associative array.
nest.entries - generate the nest, returning an array of key-values tuples.