A fork of mbostock's own Bounded Force Layout written for D3 v4.
This D3 example shows how to constrain the position of nodes within the rectangular bounds of the containing SVG element. As a side-effect of updating the node's cx
and cy
attributes, we update the node positions to be within the range [radius, width - radius] for x, [radius, height - radius] for y. If you prefer, you could use the each
operator to do this as a separate step, rather than as a side-effect of setting attributes.