The area of each circle in this symbol map is proportional to the population of the associated state.
forked from mbostock's block: Symbol Map
| license: gpl-3.0 |
The area of each circle in this symbol map is proportional to the population of the associated state.
forked from mbostock's block: Symbol Map
| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <style> | |
| .states { | |
| fill: #ccc; | |
| stroke: #fff; | |
| } | |
| .symbol { | |
| fill: steelblue; | |
| fill-opacity: .8; | |
| stroke: #fff; | |
| } | |
| </style> | |
| <body> | |
| <script src="//d3js.org/d3.v3.min.js"></script> | |
| <script src="//d3js.org/topojson.v1.min.js"></script> | |
| <script src="//d3js.org/queue.v1.min.js"></script> | |
| <script> | |
| var width = 960, | |
| height = 500; | |
| var radius = d3.scale.sqrt() | |
| .domain([0, 1e6]) | |
| .range([0, 10]); | |
| var path = d3.geo.path(); | |
| var svg = d3.select("body").append("svg") | |
| .attr("width", width) | |
| .attr("height", height); | |
| queue() | |
| .defer(d3.json, "https://gist.githubusercontent.com/mbostock/4090846/raw/d534aba169207548a8a3d670c9c2cc719ff05c47/us.json") | |
| .defer(d3.json, "us-state-centroids.json") | |
| .await(ready); | |
| function ready(error, us, centroid) { | |
| if (error) throw error; | |
| svg.append("path") | |
| .attr("class", "states") | |
| .datum(topojson.feature(us, us.objects.states)) | |
| .attr("d", path); | |
| svg.selectAll(".symbol") | |
| .data(centroid.features.sort(function(a, b) { return b.properties.population - a.properties.population; })) | |
| .enter().append("path") | |
| .attr("class", "symbol") | |
| .attr("d", path.pointRadius(function(d) { return radius(d.properties.population); })); | |
| } | |
| </script> |