Bar

막대 차트는 Bar를 이용해 제작한다. 해당 모듈은 Bar 타입을 그대로 노출하는 대신에 Bar 인스턴스를 생성하는 함수를 반환한다. 클라이언트 단에서 전체 모듈을 번들링한 형태로 사용할 때는 daisy.bar()를 실행하여 Bar 인스턴스를 생성한다. 모듈별로 사용할 때에는 아래와 같이 bar 모듈만을 불러와서 사용해도 좋다.

Bar 타입은 RectLinear 타입을 상속받는다.

import bar from 'daisy-chart/src/layouts/bar'
bar().container('#chart-container')
  .data(dataset)
  .dimensions(['category', 'sub-category']) // 2개의 dimension을 사용하므로 그룹 바챠트 생성
  .measures([{field: 'value', op: 'sum'}])
  .axis('x').axis('y')
  .render();

막대 차트의 유형은 범주(dimension), 수치(measure)의 조합과 형태 변형을 위한 옵션에 의해 형태가 결정된다. 그 예시는 아래와 같다.


API Reference

# bar.annotation([annotation]) <>

막대 끝을 가리키는 보조선을 출력 여부를 annotation 값의 true|false 결정한다. 기본 설정값은 false이다.

# bar.normalized([normalized]) <>

누적 막대 설정시 값을 모두 0–1.0 사이의 값으로 정규화 하여 변환한다. bar.stackedtrue인 경우에만 작동한다. 기본 설정값은 false이다.

bar.stacked(true)
  .normalized(true);

# bar.mono([mono]) <>

범주가 1개이고 수치가 1개 이하인 경우의 모노(Mono) 막대 차트의 색상을 동일하게 설정할지 여부를 mono 값의 true|false로 결정한다. 기본 설정값은 true이며 이때 모노 막대 차트의 색상은 default.colorcolors 값의 첫번째 값이 사용된다.

bar.dimensions(['category'])
  .mono(false);

# bar.orient([orient]) <>

막대 차트가 그려지는 방향을 orient 값을 vertical|horizontal로 설정하여 변경한다. 기본 설정 값은 vertical이며 세로로 그려진다.

# bar.padding([padding]) <>

막대 사이의 간격(padding)의 비율을 설정한다. 비율의 산정 방식은 d3.scaleBand.padding의 규칙을 따른다. 기본 설정값은 0.05 이다.

# bar.stacked([stacked]) <>

누적 막대 여부를 stacked 값의 true|false로 설정한다. 기본 값은 false이다.

# bar.showdiff([showdiff]) <>

모노 막대 차트의 크기 비교 표시를 showdiff 값의 true|false로 설정한다. 기본 값은 false이다. true 인 경우 첫번째 막대 이후 막대는 이전 막대와의 차이를 점선과 레이블로 표시하게 된다.

# bar.regionPadding([regionPadding]) <>

그룹 막대 사용시 영역(region) 사이의 간격(regionPadding)의 비율을 설정한다. bar.facet이 활성화되어 스몰 멀티플을 그릴 경우 영역 간의 간격 비율을 설정한다. 비율의 산정 방식은 d3.scaleBand.padding의 규칙을 따른다. 기본 설정값은 0.1 이다.