2014-02-14 3 views
1

힘을주는 그래프에 맞게 줌을 적용하는 방법을 찾고 있습니다. 이미 뷰 화면에서 그래프를 확대/축소 할 수있는 기능이 있습니다. 힘에 의한 그래프 중심으로의 번역에 대해서는 확신 할 수 없습니다. 어떤 도움이 필요합니까?D3에서 힘 중심 그래프로 확대/축소하는 방법

답변

1

이미 화면에 그래프를 표시하기 위해 확대/축소 동작을 사용하는 경우 동일한 동작을 사용하여 변환하기가 어렵지 않아야합니다. 중심을 찾는 것은 조금 까다 롭습니다. 그러나 강제 지시 레이아웃의 경우 그래프의 중심을 계산할 수 있습니다. 노드의 모든 x 및 y 좌표를 평균화하면됩니다.

+1

calculateTranslation : 함수 (X, Y) {// \t \t 스케일을 얻을 \t \t VAR 배율 = Graph.Zoompos; \t \t // 축척 및 뷰포트에 따라 중심을 계산합니다. var scaledCenterX = (그래프. 폭/축척)/2; var scaledCenterY = (Graph.height/scale)/2; // 번역 벡터를 계산하십시오 var panx = - (x - scaledCenterX); var pany = - (y - scaledCenterY); console.log (panx + ""+ pany); // 번역 벡터와 눈금을 설정하십시오. \t \t d3.zoom.translate ([panx, pany]); \t} – user3310597