Problemas al agregar y quitar nodos en un diseño de fuerza usando d3.js

Estoy tratando de visualizar la disponibilidad del servidor (y luego otras cosas, una vez que esto funciona) mediante la obtención de datos desde la API de Zabbix. Puede ver un ejemplo de cómo se ven los datos devueltos como [aquí] [1] en la documentación de la API de Zabbix.

Obtener los datos no es el problema, pero creo que tengo algunos problemas con la unión de datos de d3.js, o más bien cómo se supone que debo hacer esto.

Después de obtener los datos, obtengo una serie de servidores ordenados alfabéticamente, y quiero que aparezcan los nuevos servidores, que los eliminados simplemente desaparezcan y cualquier cambio en la disponibilidad (o de otro modo, en el futuro) se refleje con el color o cualquier otra cosa que yo. podría pensar en

El punto es que el gráfico no debe reiniciarse, solo debe actualizarse agregando o eliminando nodos.

Que es el bit con el que estoy teniendo problemas. He logrado agregar más y más nodos a la lista (nunca la he borrado), he logrado que se "redibujen" cada vez que recupero nuevos datos, es decir, todos los nodos se agregan de nuevo y se ajustan al centro como si fueran nuevos. Primero hazlo cuando cargues la página.

Y el tercero, que ha provocado que todos los nodos queden atrapados en la esquina superior izquierda.

Este último es el estado actual de mi código.

Estoy un poco inseguro de lo que estoy haciendo mal en este momento, estaba mirandoesta que parece estar bastante cerca de lo que necesito, sin los enlaces de todos modos (por ahora). Eso funciona bien, y he intentado replicar ese comportamiento en mi código, pero no funciona.

Apreciaría si alguien tuviera algunos consejos para mí, eso sería increíble. He estado jugando con esto en el trabajo durante la semana pasada sin llegar mucho más lejos :)

¡Gracias!

Debido a que solo tengo acceso a Zabbix en el trabajo, realmente solo puedo probar cosas en el período CET de 16-21, que es de aproximadamente 4 horas por día. Si alguien tiene alguna sugerencia durante la noche, la probaré mañana: D

Mi código en GitHub estará en un enlace debajo de mi publicación, ya que esta falta de reputación en este sitio me ha puesto en un agujero sombrío donde solo puedo agregar dos enlaces a mi publicación.

¿Por qué esto no es global? Tengo más de 10 representantes en otros sitios de SE ..

Editar:

Aún teniendo problemas, cada vez que se actualizan los datos, los círculos "ingresan" como lo hacen cuando cargan esto por primera vez:http://mbostock.github.com/d3/talk/20111018/collision.html No tengo idea de qué hacer ahora: /

Respuestas a la pregunta(1)

Su respuesta a la pregunta