answer for http://stackoverflow.com/questions/15518095/appending-a-different-number-of-elements-to-each-group
Interactive version http://bl.ocks.org/widged/5203275
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8"> | |
<title>D3 grouping</title> | |
<script src="http://d3js.org/d3.v2.min.js"></script> | |
</head> | |
<body> | |
<style type="text/css"> | |
div.group { | |
background-color: blue; | |
color: white; | |
margin: 20px; | |
padding: 9px; | |
} | |
div.node { | |
background-color: orange; | |
margin: 3px; | |
} | |
</style> | |
<div id='viz'></div> | |
<script> | |
var data = [ | |
[1,2,3], | |
[1,2,3,4], | |
[1,2,3,4,5] | |
]; | |
var viz = d3.select("#viz"); | |
var groups = viz.selectAll("div.group") | |
.data(data, function(d, index) { | |
return d.key; | |
}) | |
.enter() | |
.append("div") | |
.classed('group', true) | |
.text(function(d, i) { return 'group ' + i}); | |
var nodes = groups | |
.selectAll("div.node") | |
.data(function(d, index){ | |
console.log("d",d); | |
return d; | |
}) | |
.enter().append("div") | |
.classed('node', true) | |
.text(function(d, i) { return d}); | |
</script> |