이 질문은 이전의 "그래프 초기화 후 D3-Force 업데이트 매개 변수"(D3-Force updating parameters after initializing graph)의 후속 작업으로 @altocumulus가 응답 한 것입니다.d3-force 그래프의 초기화 후 ForceCollide의 반경
일부 노드의 반경을 수정 한 후 시뮬레이션 작업을 업데이트하려고합니다. 그러나 변경 사항을 반영하기 위해 forceCollide
을 호출하면 작동하지 않습니다.
그래프는 우선 반경에 해당하는 힘을 갖는 forceCollide
및 함수를 이용하여 올바르게 시작 :
var forceCollide = d3.forceCollide()
.radius(function(d){return d.radius;})
.iterations(2)
.strength(0.95);
var simulation = d3.forceSimulation()
.velocityDecay(velocityDecay)
.force("collide", forceCollide);
난 후 d.radius
개체를 수정 및 변경 사항을 반영하기 위해 forceCollide
원한다. 나는 forceCollide
에 호출 할 때, 다시는 작동하지 않습니다 왜 이런 일이에
forceCollide.radius(function(d){
d.radius;})
어떤 생각?
@altocumulus 빠른 답변 감사합니다. 그리고 어떻게 시간을내어 당신이 그것에 도달했는지 설명해 주셔서 감사합니다! 이제 소스 라이브러리의 유틸리티를 이해합니다. –