Usiamo una soluzione soluzione per questo. Probabilmente è più un hack che una soluzione completa, ma è facile da implementare e funziona bene nella maggior parte dei casi.
Quello che facciamo è che determiniamo il numero di particelle nel sistema ogni volta che una particella viene aggiunta o rimossa. Se questo conteggio è uguale a uno, aggiungiamo una nuova particella nel sistema, con il suo colore impostato sul colore di sfondo della tela. Poiché il colore del nodo è uguale al suo sfondo, non è visibile.
Quindi in nessun punto c'è un singolo nodo nel grafico. Ogni volta che ciò accade a causa di un'aggiunta o eliminazione, aggiungiamo questo nodo di bilanciamento nascosto. Si può dare un'occhiata al nostro sito Web per vedere un esempio dal vivo per quanto sopra: http://www.graphthinker.com. Man mano che si aggiungono nodi, è possibile vedere che il grafico continua a essere reattivo anche quando ha un solo nodo (visibile).
Questo nodo di bilanciamento nascosto può essere rimosso quando non è più necessario, ad esempio quando viene aggiunto un altro nodo o quando viene rimosso l'unico nodo visibile.
Da questo mi sono spostato nella libreria d3.js [collegamento] (http://mbostock.github.com/d3/), che è un'alternativa superba. –
Il problema sembra apparire anche in altri casi quando si hanno più nodi. Per esempio ho avuto circa 30 nodi connessi a un nodo centrale e quel nodo centrale ha iniziato a rimbalzare pure – user579674