Scatter
스캐터플롯은 Scatter를 이용해 제작한다. 해당 모듈은 Scatter 타입을 그대로 노출하는 대신에 Scatter 인스턴스를 생성하는 함수를 반환한다. 클라이언트 단에서 전체 모듈을 번들링한 형태로 사용할 때는 daisy.scatter()을 실행하여 Scatter 인스턴스를 생성한다. 모듈별로 사용할 때에는 아래와 같이 Scatter 모듈만을 불러와서 사용해도 좋다.
Scatter 타입은 RectLinear, Brushable, Zoomable 타입을 상속받는다.
import scatter from 'daisy-chart/src/layouts/scatter'
scatter().container('#chart-container')
.data(dataset)
.dimensions(['category'])
.measures(['value1', 'value2'])
.axis('x').axis('y')
.render();
스캐터플롯의 유형은 범주(dimension), 수치(measure)의 조합과 형태 변형을 위한 옵션에 의해 형태가 결정된다. 그 예시는 아래와 같다.
수치 2개
- 범주 0개: 첫번째 수치로 마크의 수평 위치를 결정하고, 두번째 수치로 수직 위치를 결정하는 모노 스캐터플롯
- 범주 1개: 위의 스캐터플롯에 범주에 따라 마크(Mark)의 색상을 변경하는 컬러 스캐터플롯
수치 3개
- 범주 0개: 수치 2개로 설정한 스캐터플롯에 세번째 수치로 마크 원의 반지름을 결정하는 모노 크기 스캐터플롯
- 범주 1개: 위의 스캐터플롯에 범주에 따라 마크(Mark)의 색상을 변경하는 컬러 크기 스캐터플롯
스몰 멀티플
.facet(true): 범주로 영역을 분리하는 스몰멀티플 형태의 다수의 모노 스캐터플롯, 범주가 1개 이상인 경우에만 작동한다.
API Reference
# scatter.regionPadding([regionPadding]) <>
scatter.facet이 활성화되어 스몰멀티플을 그릴 때, 영역간의 간격 비율을 d3.scaleBand.padding의 규칙에 따라 설정한다. 기본 설정값은 0.1 이다.
스캐터플롯 원 반지름의 범위를 결정한다. [min, max] 형태를 px 단위로 전달한다. 기본 설정값은 [3,12] 이다.