2013-08-02 3 views
2

그래서 d3을 강제 레이아웃과 함께 사용하며 시간이 지남에 따라 고정 노드를 이동하려고합니다. transition()을 사용하는 것이 좋겠지 만 svg 객체의 속성보다는 노드의 바운드 데이터에 전환을 적용하는 방법을 파악할 수 없습니다. 이것이 가능한가, 아니면 그냥 보간법을 사용하여 간단한 setTimeout()을 작성해야합니까? 여기d3.js, 데이터에 전환을 적용 하시겠습니까?

+0

는, 단지 눈에 보이는 애니메이션가 발생합니다 SVG 개체의 속성에 대해 다음 주시기 바랍니다. 전환하는 데이터가 왜 당신이 원하는 것이라고 생각하는지 조금 자세히 설명해 주시겠습니까? –

+0

내가 볼 수있는 SVG 객체를 attr ('transform', 'translate()') 할 수는 있지만, 노드는 시뮬레이션에 영향을 미치는 이전 위치에 여전히있을 것입니다 (예 : 다른 노드, 링크 대상 등) . 시뮬레이션이 올바르게 작동하려면 노드의 x/y 좌표가 표시된 SVG 객체와 일치해야합니다. 따라서 고정 노드 (더 이상 데이터 객체의 x/y 속성이 강제 레이아웃에 의해 업데이트되지 않음)를 부드럽게 이동하려면 전환을 사용하고 싶습니다. 내가 볼 수 SVG 개체를 전환하고 그냥 데이터 개체 x/y를 바로 설정할 수있을 것 같아요,하지만 일종의 잘못 느낀다. – Tossrock

답변

0

tutorial

또는 당신은 당신이 당신의 그래프의 노드를 얻을 수있는 기능에

window.setTimeout(someFunction, 2000); 

을 시도하고 있다는 점에서 XY를 변경하고 그냥 업데이트 할 수 있습니다.

다른 example

당신은 예를 들어 필요한 경우 결국