a Canvas example that shows how to drag multiple shapes inside of another shape. notice that the red network-node circles can be dragged. notice that the white background of the plot can also be dragged, while keeping the red-circle children of the invisible background in the same relative positions.
you could also think about this problem as “how to create a hierarchy of draggable shapes?”. the short answer is: do it in the dragSubject()
function
d3-drag docs on drag subjects
a fork of Multiple Shape Drag Canvas with Force Simulation
an iteration on this very helpful stackoverflow answer
this collection of d3-drag experiments also exist in github repo form at micahstubbs/d3-drag-experiments