this iteration uses d3 version 4
the changes to update from d3v3 to d3v4 were pretty straightforward - mostly camelCasing scale names. a goal of this series of examples is to make it easier for someone learning to use d3 to understand what is happening. One way to do that is to make a whole new example at each new conceptual change.
do check out the other examples in this world map
series:
world map 00 original example
world map 01 fix tooltip value
world map 02 d3 v4
world map 03 es2015 + update code style
world map 04 manual breaks + threshold scale
world map 05 linear breaks + quantize scale
world map 06 linear breaks + quantiles scale
world map 07 Jenks natural breaks
world map 08 ckmeans cluster max breaks
world map 09 ckmeans cluster min breaks
This block currently doesn't work in browsers like the Chrome (v55.0.2883.95) since the references to the the JS files are strictly HTTP when some of resources are requested over HTTPS. Either make your URLs protocol relative or just change the them to HTTPS. I've forked and updated the gist here so it renders: http://bl.ocks.org/aboutaaron/ba0a3a81839e6427639add272483faca
Thanks for your help!