mbostock
This example uses d3.forceCollide to prevent circles from overlapping.
https://d3js.org/d3.v4.min.js