Hacker News new | past | comments | ask | show | jobs | submit login
Let’s Make a Bubble Map (ocks.org)
109 points by nthitz on May 7, 2014 | hide | past | favorite | 17 comments



Just yesterday I watched Mike Bostock remake this example live at Edward Tufte's seminar in San Jose.

In the talk, he emphasized the importance of incorporating Makefiles into the workflow more than the text of this tutorial does. It basically documents exactly where you got the data from and what basic transformations you applied to it. The NYT uses this to streamline their process of developing graphics--so if, say, a graphic from six months ago needs to be revisited again for a new story on the same topic, nobody has to fumble around trying to remember where the data came from, etc. I got the impression that this was the advice of someone who had been burned by not following it in the past.


Could you post a link to that talk?


Nice! I really like building stuff with D3. I just put this up the other day though I'm still toying around with it. It's a visualization of what precincts are ticketing drivers in NYC. D3 has made doing stuff like this pretty easy.

http://uturn.wolvesintheserverroom.com/


Wow!

Super cool visualization, and great that you put the code on GitHub for everybody to see.

For anybody interested in the code behind:

https://github.com/akilism/moving_violation_scraper

https://github.com/akilism/nyc-moving-violations


Very cool site!


Perfect timing, just learning how to make a map in d3 for Bower stats [1]. Thought after experimenting with choropleth maps [2], bubbles on maps and dorling maps [3] [4], dorling maps appear to be the best way to show very dense info on relationships with vague references to geography.

[1] https://shan.io/bower/ [2] http://bl.ocks.org/mbostock/4060606 [3] http://www.dannydorling.org/wp-content/files/dannydorling_pu... [4] http://www.jasondavies.com/maps/dorling-world/


could you explain your opinion?

I'd say the choice between choropleth and dorling maps depends on what sort of data you want to present, or am I missing something?

What I mean is, if the bubble size represents a different information from the color depth (i.e. figure 10, page 12 f the dorling paper shows population as a bubble, AFAICT) than it makes sense, but if it's just another encoding of already represented information it seems weird.

I.e. in the "dorling world" map I have lost plenty of informations (I have no idea what northern and eastern europe countries are what anymore, while I can tell them at a glance on a normal map) but I have not gained anything.


I wonder what the best way is to group populations from neighboring counties.

The east coast has a much higher density of small counties, giving the NY area a look very different from that around LA.


Yeah, this map shows something slightly different (and possibly more interesting) than population density/grouping. Really it kind of shows which counties should be split up.

Compare the Houston and Dallas metro areas - Houston has a very distinct large bubble, while Dallas has more overlapping smaller bubbles which make it look smaller, even though it contains more people.


Usually you want to divide your visualization field by some other field. In this case, you might want to do (population / area). For other sorts of things like visualizing a particular demographic, you would often want to divide by population.


This may help: merging topojson features (e.g. states) http://bl.ocks.org/mbostock/5416405


I find that in general heatmaps are way more informative than bubble maps.


The idea here is to show the bigger process around creating such a visualization, not the final visualization.


I am wondering why this requires Node.js. Is it just for topojson?


He uses node for the basic HTTP server to display the visualization, and he also uses NPM to manage dependencies for the project like TopoJSON


Cheers!


Obligatory xkcd — oh, wait, this actually is just a population map.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: