Problemy z dodawaniem i usuwaniem węzłów w układzie wymuszenia przy użyciu d3.js

Próbuję zwizualizować dostępność serwera (a później inne rzeczy, gdy to zadziała), pobierając dane z interfejsu API Zabbix. Możesz zobaczyć przykład, w jaki sposób zwracane dane wyglądają jak [tutaj] [1] w dokumentacji API Zabbix.

Pobieranie danych nie jest problemem, ale myślę, że mam pewne problemy z dołączaniem danych d3.js, a raczej jak mam to zrobić.

Po pobraniu danych otrzymuję szereg serwerów posortowanych alfabetycznie i chcę, aby pojawiały się nowe serwery, usunięte, aby zniknęły, a wszelkie zmiany w dostępności (lub w inny sposób - w przyszłości) odzwierciedlone były kolorem lub czymkolwiek innym może myśleć.

Chodzi o to, że wykres nie powinien zostać ponownie zainicjowany, powinien zostać zaktualizowany przez dodanie lub usunięcie węzłów.

Z czym mam problemy. Udało mi się dodać więcej i więcej węzłów do listy (nigdy jej nie wyczyścić), udało mi się je „przerysować” za każdym razem, gdy ściągam nowe dane, tj. Wszystkie węzły są dodawane ponownie i przyciągają do centrum, tak jak one Po pierwsze, po załadowaniu strony.

I trzeci, który spowodował, że wszystkie węzły utknęły w lewym górnym rogu.

Ten ostatni jest aktualnym stanem mojego kodu.

Nie jestem pewien, co robię źle w tym momencie, patrzyłemto który wydaje się być dość zbliżony do tego, czego potrzebuję, bez linków (na razie). To działa dobrze i próbowałem replikować to zachowanie w moim kodzie - ale to nie działa.

Byłbym wdzięczny, gdyby ktoś miał dla mnie jakieś wskazówki, to byłoby niesamowite. Grałem z tym w pracy przez ostatni tydzień bez dalszego rozwoju :)

Dzięki!

Ponieważ mam dostęp tylko do Zabbixa w pracy, naprawdę jestem w stanie przetestować rzeczy tylko w czasie 16-21 czasu CET, co oznacza około 4 godziny. Jeśli ktoś ma jakieś sugestie w nocy, spróbuję tego jutro: D

Mój kod na GitHub będzie znajdował się pod linkiem pod moim postem, ponieważ ten brak reputacji na tej stronie umieścił mnie w ponurym otworze, w którym mogę dodać tylko dwa linki do mojego postu.

Dlaczego to nie jest globalne? Mam więcej niż 10 przedstawicieli na innych stronach SE ..

Edytować:

Wciąż mając problemy, za każdym razem, gdy dane są odświeżane, kręgi „wchodzą”, tak jak przy pierwszym ładowaniu:http://mbostock.github.com/d3/talk/20111018/collision.html Nie mam pojęcia, co teraz robić: /

questionAnswers(1)

yourAnswerToTheQuestion