Updated variant of Zoom to Bounding Box II for d3 v4 which is also a variant of the Zoom to Bounding Box example that uses zoom transitions to smoothly interpolate between different views. This example also allows you to freely pan and zoom with the mouse (or touch).
Changed /mbostock/raw/4090846/us.json to a local referenece
https://d3js.org/d3.v4.min.js
https://d3js.org/topojson.v1.min.js