This D3 version 3 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.
forked from mbostock's block: Bounded Force Layout