<!DOCTYPE html> <meta charset="utf-8"> <style> circle { fill: none; stroke: steelblue; } </style> <body> <script src="//d3js.org/d3.v3.min.js"></script> <script src="//d3js.org/topojson.v1.min.js"></script> <script> var width = 960, height = 500; var path = d3.geo.path(); var svg = d3.select("body").append("svg") .attr("width", width) .attr("height", height); d3.json("/mbostock/raw/4090846/us.json", function(error, us) { if (error) throw error; svg.selectAll("circle") .data(topojson.feature(us, us.objects.counties).features) .enter().append("circle") .attr("transform", function(d) { return "translate(" + path.centroid(d) + ")"; }) .attr("r", function(d) { return Math.sqrt(path.area(d) / Math.PI); }); }); </script>