[javascript] Highcharts에서 트리맵 만들기

트리맵은 데이터를 계층적으로 표현하는 데이터 시각화 기법입니다. Highcharts는 다양한 차트 종류를 지원하며, 트리맵도 그 중 하나입니다. 이번 포스트에서는 Highcharts를 사용하여 트리맵을 만드는 방법에 대해 알아보겠습니다.

Highcharts 설치

Highcharts를 사용하기 위해서는 먼저 Highcharts 라이브러리를 설치해야 합니다. npm을 사용한다면 다음과 같이 설치할 수 있습니다.

npm install highcharts

혹은 Highcharts 공식 사이트에서 다운로드하여 사용할 수도 있습니다.

데이터 준비

트리맵 차트를 생성하기 위해서는 데이터가 필요합니다. 데이터는 계층 구조를 가지며, 각 노드의 값과 하위 노드의 정보를 포함해야 합니다. 예를 들어 다음과 같은 형식의 데이터를 사용할 수 있습니다.

var data = [{
  name: 'Root',
  value: 100,
  children: [{
    name: 'Node 1',
    value: 50,
    children: [{
      name: 'Leaf 1',
      value: 20
    }, {
      name: 'Leaf 2',
      value: 30
    }]
  }, {
    name: 'Node 2',
    value: 50,
    children: [{
      name: 'Leaf 3',
      value: 10
    }, {
      name: 'Leaf 4',
      value: 40
    }]
  }]
}];

트리맵 차트 생성

트리맵 차트를 생성하기 위해서는 treemap 차트 유형을 사용해야 합니다. 먼저 Highcharts를 초기화하고 차트 컨테이너를 생성합니다.

var chart = Highcharts.chart('container', {
  chart: {
    type: 'treemap'
  },
  series: [{
    type: 'treemap',
    layoutAlgorithm: 'stripes',
    ...
  }]
});

series 옵션에서 treemap 유형을 사용하고, layoutAlgorithm에는 원하는 트리맵의 레이아웃 알고리즘을 설정합니다. stripes는 줄무늬 형태의 레이아웃을 사용하는 알고리즘입니다.

차트의 데이터를 설정하기 위해 data 옵션을 사용합니다.

series: [{
  type: 'treemap',
  layoutAlgorithm: 'stripes',
  data: data
}]

여기서 data는 앞서 준비한 데이터를 의미합니다.

스타일링

트리맵 차트의 스타일링을 변경하려면 colors 옵션을 사용할 수 있습니다. colors 옵션을 통해 트리맵의 각 노드 색상을 지정할 수 있습니다.

series: [{
  type: 'treemap',
  layoutAlgorithm: 'stripes',
  data: data,
  colors: ['#ff0000', '#00ff00', '#0000ff']
}]

결과 확인

트리맵 차트를 생성하고 스타일링까지 완료하였다면 아래와 같은 결과를 확인할 수 있습니다.

Treemap Chart

Highcharts를 이용하여 트리맵을 만드는 방법에 대해 알아보았습니다. 트리맵은 데이터의 계층 구조를 시각적으로 표현하기에 유용한 차트 종류입니다. Highcharts는 다양한 사용자 정의 옵션을 제공하므로, 원하는 스타일과 레이아웃을 적용할 수 있습니다.

더 자세한 내용은 Highcharts 공식 문서를 참고해주세요.