2017-02-16 19 views
1

저는 캔버스와 각 축을 통해 확대/축소 할 수있는 트렌드를 만들려고합니다. 캔버스가 모든 축을 확대해야하며 단일 축 확대/축소가 확대되어야합니다.d3에 다중 확대/축소를 실행할 수 있습니까

지금까지 그렇게 좋았습니다.

이제 캔버스를 선택한 축만 확대/축소하려고합니다. 그러나 축을 재 선택하고 선택 해제 할 때 현재 축척으로 확대하여 점프합니다. 나는 캔버스에 에브리 축 줌을 추가하는 방법에 대한 생각

하지만

canvas.call(zoom1).call(zoom2);

는 마지막 하나를 호출합니다.

아무도 아이디어가 있습니까?

감사합니다.

답변

0

다른 방법으로 여러 축을 확대하고 전체 확대/축소를 찾았습니다.

다음의 예는 캔버스 않고 있지만 같은 방식으로 작동합니다 :이 솔루션은 비트인지 알고

the scale will be adapted when changing the zoom selection 
that all rects ecpet of rect which calls the zoom will be reset. 

https://jsfiddle.net/DaWa/wnxu7m04/3/

앞에있는 솔루션의 차이, 즉 해키하지만 현재 공식적인 해결책은 없습니다 (https://github.com/d3/d3-zoom/issues/48 참조)

0

해당 그룹의 줌 기능을 호출하여 해결책을 찾았습니다.

See https://jsfiddle.net/DaWa/3jfs6zb1/2/ 

저는 두 가지 변형 (글로벌 및 단일 축)이 서로 적응하지 못하는 문제가 있습니다.

아이디어가 있으십니까?