D3.js axis API
차트에서 축은 너무나 자주 사용되므로 축을 생성하는 기능을 d3.js안에 내장 되어있다. 축에서는 눈금을 표현해야하고 적당한 값을 넣어줘야하는 등 복잡한 일이 많다만, 이러한 복잡성을 d3.js가 간단히 처리해준다.
2차원의 차트에서 축이 올 수 있는 자리는 상하좌우이므로 다음과 같은 함수가 제공된다.
axis API
- d3.axisTop(scale)
- d3.axisBottom(scale)
- d3.axisLeft(scale)
- d3.axisRight(scale)
또한 축을 생성할 때 위에서 설명했던 scale을 넘겨주면 range의 범위를 적절히 판단하여 축을 생성하게 된다.
1 | <svg id="graph" width="100%" height="100%"> |
확인 해 보면 세로축이 그려진걸 볼 수 있다.
이 그림의 빨간선과 코드를 비교해보죠.
- 우선 가로로 50만큼 이동시킨 것은 위의 코드 중에 translate(50, 0) 이 부분 없으면 왼쪽에 가려져 버린다. 거의 숙어처럼 축은 translate와 같이 사용될 운명이다.
- 위 아래 20씩 패딩이 성립한 이유는 .range([h – 20, 0 + 20]); 이렇게 위아래 20을 뒀기 때문이다. 반대로 말하자면 축함수는 range의 값을 픽셀크기로 인식하여 그린다는 것을 알 수 있다.