2014-03-28 4 views
2

clustered nodes의 Mike Bostock 예제를 사용하여 새로운 노드를 무리로 밀어 넣으려고합니다. 클러스터 된 레이아웃에 새 노드 추가

function addNode(){ 
    nodes.push({ 
    cluster: 2, 
    radius: 5, 
    x: Math.cos(3/4 * 2 * Math.PI) * 200 + width/2 + Math.random(), 
    y: Math.sin(5/4 * 2 * Math.PI) * 200 + height/2 + Math.random() 
    }); 
    console.log(nodes); 
    update(); 
} 

$('button').click(function(){ 
    addNode(); 
}) 

내가 클러스터 및 반경뿐만 X & Y에 대한 임의 값과 같은 값을 사용하여 새 노드를 만드는거야.

여기는 fiddle이지만 예상대로 작동하지 않습니다. 당신은 거의 다

답변

2

, 그냥 몇 가지 작은 것들이다 : 당신은 업데이트 기능에서 "circle.node"로 선택하고

  • ,하지만 당신은에있는 "노드"클래스를 지정하지 않은 초기 원.
  • d.size을 사용하여 새 원의 반지름을 설정했지만 d.size은 설정하지 말고 d.radius으로 설정하십시오.
  • .data() 바로 뒤에 .style(...)을 호출하고 결과를 새 선택으로 저장합니다. 이것은 들어가고 나가는 선택을 엉망으로 만든다.

마지막으로 JQuery를 피들에 포함시키지 않아서 버튼이 작동하지 않습니다. 이 문제는 모두 예제 here으로 고정됩니다.

+0

경로를 알려 주셔서 감사합니다. Lars. 나는 그것을 잘못 알고있다. 나는 이것을 문서화하고 나 자신과 같은 미래의 초보자를 위해 바이올린을 업데이트 할 것이다. – pixelbeat