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.
Wrote the each
operator step described above, but used tick to settle groups into separate ranks. -bjtucker
https://d3js.org/d3.v3.min.js