map5 = {
const map = createBaseMap()
const svg = d3.select(map);
const statesPacked = createStatePacks(dataByState);
let values = [...new Map(statesPacked).values()];
values = applySimulation(values)
svg.select(".state-boundaries")
.attr("stroke", "#fff");
const statePacks = svg
.append("g")
.classed("state-packs", true)
.selectAll(".state-pack")
.data(values)
.enter()
.append("g")
.classed("state-pack", true)
.attr("transform", d => `translate(${d.x}, ${d.y})`);
statePacks
.append("circle")
.attr("r", d => d.r)
.attr("fill", "#e2e2e2")
.attr("stroke", "#333");
const counties = statePacks
.selectAll(".county-centroid")
.data(d => d.nodes)
.enter()
.append("circle")
.classed("county-centroid", true)
.attr("r", d => d.r)
.attr("cx", d => d.x)
.attr("cy", d => d.y)
.attr("fill", d => color(withBroadbandPct(d.data)))
counties.append("title")
.text(d => `${d.data.county}, ${d.data.state}\nTotal Households: ${d.data.total_households.toLocaleString()}\nWith broadband subscription: ${d3.format(".2f")(withBroadbandPct(d.data) * 100)}%`)
return map;
}