d3-force Radius von forceCollide nach Initialisierung des Graphen aktualisieren

Diese Frage knüpft an eine frühere Frage mit dem Titel "D3-Aktualisierung der Parameter nach Initialisierung des Diagramms erzwingen" an D3-Aktualisierung der Parameter nach Initialisierung des Diagramms erzwingen) und @altocumulus hat geantwortet.

Ich versuche, die Simulationskräfte zu aktualisieren, nachdem der Radius einiger Knoten geändert wurde. Wenn ich jedoch auf @ anruforceCollide, um die Änderungen zu berücksichtigen, die nicht funktionieren.

Der Graph wird zuerst mit @ korrekt gestarteforceCollide und eine Funktion, deren Kraft dem Radius entspricht:

var forceCollide = d3.forceCollide()
.radius(function(d){return d.radius;})
.iterations(2)
.strength(0.95);

var simulation = d3.forceSimulation()
.velocityDecay(velocityDecay)
.force("collide", forceCollide);

Ich ändere dann dasd.radius Objekt und wollenforceCollide, um die Änderungen widerzuspiegeln. Wenn ich jedoch das @ anruforceCollide wieder klappt es nicht:

forceCollide.radius(function(d){
d.radius;})

ast du irgendwelche Gedanken darüber, warum das passier

Antworten auf die Frage(2)

Ihre Antwort auf die Frage