D3.js select API
d3.js 에서는 일반적으로 메서드 체이닝 기법을 사용한다. jQuery의 select API 문법과 흡사하지만 d3에서는 selection 객체에 대해서 data()를 통해 특정 데이터를 바인드하고, enter()와 exit()를 통해 데이터에 대응하는 객체를 다룰 수 있는 기능들을 제공한다
select API
- select() - 현재 문서에서 시각화할 특정요소 태그 하나를 선택
- selectAll() - 현재 문서에서 특정 태그 전체를 선택
- attr() - 선택된 태그의 속성값 지정
- data() - 참조 연결한 데이터 가져옴(선택된 태그에 데이터 매칭)
- enter() - 데이터 갯수만큼 태그가 부족할 시에 플레이스홀더를 반환
- append() - 새로운 태그를 추가
- exit() - 종료(더 이상 필요없는 태그는 반환)
- remove() - 현재 문서에서 선택된 태그를 제거
데이터 바인드하고 요소 추가하기
1 | var data = [1, 2, 3, 4, 5]; |
예제
1 | <p>a</p> |
body 안에 p 태그가 이미 3개 존재한다. 하지만 데이터 갯수는 2개이다. 실질적으로 연결되는 값은 [1,2]인 두개뿐이다. 세본째 p태그는 사용되지 않고 그대로 유지된다. 여기서 remove() 로 사용되지 않는 p태그가 제거 된다.