Visualization inspired by and code adapted from mbostock.