Lo que describe en su ejemplo no es solo una red de relaciones, sino una red de "flujos" entre todos los grupos.
Como sugirió en a) (y como dijo Jeromy también) su gráfico probablemente será una visualización de un grupo (o nodo) vinculado a otros grupos. La mayor parte de mi conocimiento sobre este tema es visualizar flujos entre espacios geográficos, pero muchos de los mismos problemas aún se aplican.
Creo que este documento hace un buen trabajo al resumir las técnicas de visualización con respecto a los flujos de mapeo.
¿De los datos de interacción espacial a la información de interacción espacial? Geovisualización y estructuras espaciales de la migración del censo de 2001 del Reino Unido
por: Alasdair Rae Computers, Environment and Urban Systems, vol. 33, núm. 3. (mayo de 2009), págs. 161-178. (PDF aquí )
Por lo general, visualizar flujos en el espacio geográfico tiene tres problemas principales. Una es que es difícil distinguir entre flujos entrantes y salientes. El segundo es que las líneas largas tienden a dominar el gráfico. Tres es que la superposición o el exceso de flujos tienden a hacer que el gráfico se vea muy ruidoso.
El segundo problema puede resolverse si organiza los nodos en su gráfico (como Jeromy sugirió nodos de clúster junto con relaciones fuertes). También puede ser más fácil usar pequeños gráficos múltiples para distinguir entre flujos entrantes, salientes y recíprocos (es decir, asigne sus nodos a un espacio específico y luego tenga gráficos separados que muestren flujos entrantes y salientes). No he visto ningún ejemplo de flujos en redes como usted describe, por lo que no sé si los gráficos autoorganizados tienen el problema de superponer líneas.
Si tiene experiencia programando en Python, puede consultar el paquete NetworkX . (El paquete Gephi Ars vinculado también se ve bastante impresionante).
Esto es similar en naturaleza a las preguntas planteadas en el foro de intercambio de SIG de GIS, y aquí hay una pregunta con respuestas que pueden interesarle.
Buena suerte