[spotfire] 15.10. 히트맵(heat map)



히트맵은 숫자 대신 색상으로 표현하는 테이블이라고 생각하면 쉽습니다. 히트맵의 구조는 각각 row, column, 그리고 cell 값 3가지로 구성되어 있습니다. 테이블로 이해하면 쉬운 이유는 테이블과 같이 모든 row, column에 대해 cell 값이 부여되어 있기 때문입니다. 때문에 나중에 다뤄질 크로스 테이블(cross table)이나 피벗 테이블(pivot table) 과 유사한 형식을 가지고 있습니다. 모든 row와 column은 빈틈없이 색이 들어차 있고, 색은 주로 그라데이션을 주어 값의 범위 내에서 row, column에 따른 색 변화를 감지하는 것에 유용합니다.

히트맵의 표현


보통 히트맵에서 표시할 수 있는 시각화 항목들은 x축, y축, 그리고 색을 많이 사용합니다. 그리고 히트맵의 row, column, cell 값은 각각 y축, x축, 색에 대입 시킵니다. 각 설정들은 다른 시각화 차트와 크게 다르지 않고 오히려 더 설정들이 간단합니다.

히트맵과 설정들

위 그림은 연도 별, 행정구역 별 인구 유입건수를 표시한 그래프 입니다. x축을 연도, y축을 행정구역, 그리고 cell 값으로 유입건수로 설정 하고 값을 색으로 표현 하였습니다. 히트맵의 설정은 복잡하지 않습니다. 각 x축, y축, cell을 지정한다면 나머지 설정들은 크게 건드릴 것이 없습니다. 다만 색을 설정 할 때, 색을 넣을 기준을 설정 할 수 있습니다. colors tab에서 color by를 통해서 cell 전체를 기준으로 색을 넣을지, 동일 y축(그림에서 행정구역)을 기준으로 색을 넣을지, 또는 동일 x축(그림에서 연도)을 기준으로 색을 넣을지를 결정 할 수 있습니다.

히트맵에서의 색 설정

데이터 분류 기준


히트맵에서도 시각화 표현을 위해서 데이터 테이블에 있는 데이터 column의 내용에 따라 다르게 넣어야 합니다.

히트맵에서 데이터 모습에 따른 격자 분류 방식

계통수와 계층적 군집분석​


히트맵에서는 다른 차트에서는 없는 계통수 설정이 가능합니다. 계통수는 계층적 군집분석 계산 결과를 시각화한 트리 구조의 그래프 입니다. 계층적 군집분석은 리프(데이터) 또는 노드 간의 거리나 유사성을 계산하여 몇 개의 군집으로 분류하는 것을 말합니다. 군집으로 묶는 기준은 노드 간의 거리, 유사성을 계산(clustering 방법)하여 가까운 노드끼리 동일한 군집으로 묶습니다. spotfire에서는 초기 리프 개수부터 노드를 하나씩 줄여가며 최종적으로 1개의 군집으로 묶일 때까지 계산하며, 여러 군집 개수 중에서 사용자가 원하는 군집 수준(군집 개수)만큼 선택하여 볼 수 있습니다. 아래의 그림은 spotfire에서 제공하는 계층적 군집분석을 트리 구조로 시각화한 계층수 입니다.

트리 구조로 시각화한 계층적 군집분석

사용자는 원하는 군집 수준에 맞춰 pruning을 설정할 수 있으며, 이에 따라 가지(노드) 개수와 노드 간의 거리 또는 유사성의 값을 얻을 수 있습니다. 이 노드 간의 거리 또는 유사성 계산 방법을 clustering 방법이라고도 하며, 다양한 방식으로 이를 계산할 수 있습니다. 위 그림에서는 군집 수준을 2개의 군집으로 설정하였고, 그에 따라 가지 개수인 #2와 2개의 군집 간의 유사성 2.96E+04 값을 분석 값으로 얻을 수 있습니다.

히트맵에서의 계통수 설정

히트맵의 dendrogram tab에서 row나 column 단위로 계통수를 설정할 수 있습니다. 각각의 row나 column이 리프가 되어 유입건수를 바탕으로 거리 또는 유사성을 계산합니다. 거리 또는 유사성을 계산하는 방법을 clustering 방법이라고 하며 이는 여러가지 계산 방법이 존재합니다. settings 클릭 시 여러가지 clustering 방법들을 제공하며 적절한 방법을 선택하면 됩니다. 마지막으로 계통수에 대한 세부적인 설정까지 완료하면 히트맵에 계통수가 표시되게 됩니다. 이때 계통수 계산에 따라 가까운 리프끼리 묶기 위해 row나 column의 순서가 바뀔 수 있습니다. 이렇게 계산 된 계통수는 data table에도 'Cluster IDs' 라는 column으로 기록되게 됩니다.


댓글 쓰기

0 댓글