그러면서 D3 힘 그래프에 레이블을 추가하는 방법에 대한 또 다른 질문 ...라벨 D3에 힘 지시 노드 : 가시성 대 속도
내가 개별 그룹 안에있는 노드와 그래프 라벨하고, 내가 추가 한 그래서 같은이 그룹 내부의 라벨 :
<svg>
<g class="nodes-with-labels">
<g class="individual-node">
<circle></circle>
<text>Node Label</text>
</g>
...
</g>
</svg>
이 그래프에 최소한의 추가 요소를 추가하고 내 그래프의 tick()
기능이 하나의 transform
작업을 호출 할 수 있습니다. 그들은 노드를 포함 다른 그룹 전에 그려 그룹에 있기 때문에 https://jsfiddle.net/52cLjxt4/1/
는 불행하게도, 레이블이 노드의 많은 뒤에 결국 : 나는 (움직임/tick()
기능이없는) 여기 데모 바이올린을 넣었습니다. 이 문제는 this example에서와 같이 별도의 상위 그룹으로 노드와 라벨을 넣어 해결할 수 있습니다
https://jsfiddle.net/hhwawm84/1/
그러나<svg>
<g class="nodes">
<g class="individual-node">
<circle></circle>
</g>
...
</g>
<g class="labels">
<g class="individual-label">
<text>Node Label</text>
</g>
...
</g>
</svg>
이 상당히 느린 것으로 보인다 : 그것은 더 많은 요소를 생성하고이 대신 문을 변환 필요 tick()
문에서 하나의 레이블을 사용합니다. 레이블을 개별적으로 이동하기 때문입니다.
속도는 내 프로젝트에서 가장 중요한 문제입니다. 추가 그룹을 많이 만들지 않고 transform
문을 두 배로 만드는 것을 피할 수있는 더 나은 방법이 있습니까?