function colorTreemap(g, counties, onClick = function() {}) {
let treemap = d3
.treemap()
.tile(d3.treemapSquarify)
.size([treemapSize, treemapSize]);
let data = {
name: "counties",
children: counties
};
let root = d3
.hierarchy(data)
.sum(d => d.value)
.sort((a, b) => b.value - a.value);
let tree = treemap(root);
function enter(selection) {
let group = selection.append("g").classed("color-tree-leaf", true);
group.append("rect");
return group;
}
function update(selection) {
return selection;
}
let leaf = g
.selectAll("g.color-tree-leaf")
.data(tree.leaves())
.join(enter, update)
.attr("transform", d => `translate(${d.x0},${d.y0})`)
.on("click", onClick);
leaf
.select("rect")
.attr("width", d => d.x1 - d.x0)
.attr("height", d => d.y1 - d.y0)
.attr("fill", d => {
return diffScale(1 - d.value);
})
.attr("fill-opacity", 1);
}