UNPKG

d3

Version:

A small, free JavaScript library for manipulating documents based on data.

61 lines (45 loc) 1.55 kB
require("./../lib/env-js/envjs/node"); require("./../d3"); d3.json("tests/barley.json", function(barley) { var nest = d3.nest() .key(function(d) { return d.year; }) .key(function(d) { return d.variety; }) .key(function(d) { return d.site; }); console.log("entries(year/variety/site):"); console.log(stringify(nest.entries(barley.slice(5, 8)))); console.log(""); console.log("map(year/variety/site):"); console.log(stringify(nest.map(barley.slice(5, 8)))); console.log(""); var nest = d3.nest() .key(function(d) { return d.year; }) .rollup(sum); console.log("rollup(year):"); console.log(stringify(nest.map(barley))); console.log(""); var nest = d3.nest() .key(function(d) { return d.year; }) .key(function(d) { return d.variety; }) .rollup(sum); console.log("rollup(year/variety):"); console.log(stringify(nest.map(barley))); console.log(""); var nest = d3.nest() .key(function(d) { return d.variety; }) .sortKeys(d3.ascending); console.log("sortKeys(variety):"); console.log(stringify(nest.entries(barley.slice(5, 8)))); console.log(""); var nest = d3.nest() .key(function(d) { return d.year; }) .sortValues(function(b, a) { return a.yield - b.yield; }); console.log("sortValues(year):"); console.log(stringify(nest.map(barley.slice(6, 12)))); console.log(""); }); function sum(v) { return v.reduce(function(p, v) { return p + v.yield; }, 0); } function stringify(json) { return JSON.stringify(json, null, " "); }