Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

geochart in d3.js

I'm looking for some guidance or an example how to do a geochart in d3.js. I need something like this one in google charts, and turning to d3.js since I need some customization. So far the closest d3.js sample I found is this but the code is very long there and I am hoping to find something simpler.

like image 225
Yaron Naveh Avatar asked Sep 28 '12 22:09

Yaron Naveh


1 Answers

Are you looking for a choropleth map? Here's a recent example in 28 lines of code.

This example uses the default projection, d3.geo.albersUsa, which is a composite projection for the United States including Alaska, Hawaii and Puerto Rico. If you want to change the visible region, you probably also want to change the projection; d3.geo.albers is good for choropleth maps because it is equal-area. The albers projection lets you set the origin so that you can focus on a specific part of the global, and all projections allow you to specify scale and translate to position the map on-screen.

If you want to display a world map, I'd also take a look at the ongoing development of the extended projections plugin. This adds a number of useful map projections, particularly for world maps, such as the Winkel Tripel. The next release of D3 will also include some exciting new features such as three-dimensional rotation for any projection (including antemeridian cutting; try dragging this example), adaptive resampling and improved clipping.

As for coloring the choropleth, you can of course color geographic features however you like by redefining the "fill" style as a function of data.

like image 198
mbostock Avatar answered Nov 06 '22 21:11

mbostock