[D3.js] zoom 효과

in #dclick6 years ago (edited)

[D3.js] zoom 효과



오늘은 간단히 zoom 효과만 실험을 하겠습니다.

1. zoom()함수


.call(d3.zoom().on("zoom", function () {
    svg.attr("transform", d3.event.transform)
 }))

zoom()함수에 on()함수에서 "zoom"타입으로 캔버스(svg)를 줌 효과를 부여하기 위해서 "transorm"속성을 잡아주네요. 잡아줄 때 줌 위치는 d3.event.transorm이 되는데 줌은 마우스가 가리키는 위치에서 줌이 시작되네요.

2. Circle(원)을 확대/축소 실험


<body>
<script src="https://d3js.org/d3.v5.min.js"></script>

<script>
var svg = d3.select("body").append("svg") //캔버스영역
   .attr("width", 500)
   .attr("height", 500) 
    .call(d3.zoom().on("zoom", function () {
      svg.attr("transform", d3.event.transform)
    }))
   .append("g")

 svg.append("circle") //원
   .attr("cx", 250)
   .attr("cy", 250)
   .attr("r", 10)
   .attr("fill","blue")
</script>
</body>

캔버스 영역에 줌 함수를 붙였네요. 캔버스 영역에서 마우스의 가운데 스크롤을 움직이면 해당 마우스 좌표를 기준으로 확대/축소가 일어나게 되네요.

[결과]

마무리


오늘도 간단히 zoom()함수를 사용하여 circle(원)을 확대/축소 실험을 해보았습니다.



Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

오! 이미지 광고가 붙었네요. 훨씬 좋아요!!
디클릭 실천^^

오늘 패치되었나 보더군요.
한글과 영문 광고로 선택도 할 수 있네요. ^^

지금 이미지 광고 붙은 거에요? 디클릭? 오오오 ~~~~
근데 제껀 왜 안붙었지 ㅡ ㅡ:

댓글 디클릭.jpg

오늘 패치되었고요.
하단에 선택 버턴이 있어요. 텍스트 or 이미지 선택하고요. 영문 or 한글 선택이 있네요.

코딩맨님.. 저는 언제나 포스팅을 천천히 한글자 한글자 다 읽는데.. 흠..
대단하십니다.
(이미지 광고 처음 봅니다! 한번 눌러봅니다. :))
dclick.jpg

감사합니다.

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63350.70
ETH 2595.60
USDT 1.00
SBD 2.85