Cómo visualizar grupos de nodos en un diseño de gráfico dirigido por la fuerza d3

Estoy buscando una forma de conectar grupos a mi visualización gráfica dirigida por la fuerza. He encontrado tres ejemplos relacionados hasta ahora:

Cola.js lo que requeriría agregar otra biblioteca y posiblemente volver a ajustar mi código para que se ajuste a esta biblioteca diferente.

Este bloque, que es bastante difícil de desenredar.

Esta diapositiva de la plataforma de diapositivas de mbostock, que no es lo que quiero sino en el camino correcto ...

Lo que más me gustaría es una manera simple de agregar algo muy cerca de la estructura desde el primer enlace, pero sin demasiada sobrecarga.

En este momento tengo una configuración bastante estándar:

var link = g.selectAll(".link")
            .data(graph.links)
            .enter().append("line")
            .attr("class", "link")
            .style(...

var node = g.selectAll(".node")
            .data(graph.nodes)
            .enter().append("g")
            .attr("class", "node")
            .attr("id", function(d) { return d.id; })

Tenía la esperanza de obtener el código d3 de cola.js y meterme con él, pero esa biblioteca parece bastante complicada, por lo que no sería demasiado fácil. Espero que no sea demasiado difícil obtener algo como esto en d3 directo:

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta