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