ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Tableau] 레이더 차트(Radar Chart) 시각화하기
    Data Visualization/Tableau(Advanced) 2020. 9. 27. 20:41

    Table of Contents

    1. Introduction
    2. Data
    3. Tableau에서 레이더 차트 시각화하기
    4. Reference

     

    Introduction

     레이더 차트(Radar Chart)는 스파이더 차트라고도 불리며, 다양한 지표를 평가 혹은 측정하여 한 눈에 표현하기 위한 목적으로 사용한다. Severino Ribecca는 <그림 1>과 같이 레이더 차트의 정의를 구체적으로 제시하였다. 태블로에서는 레이더 차트를 표현하는 방법을 표현 방식으로 제공하고 있지 않기 때문에 이를 표현하기 위해서는 몇 가지 트릭이 필요하다. 태블로에서 레이더 차트를 작성하는 방법에는 여러가지 방법이 있다. 지표의 수를 결정해서 지표의 좌표를 계산하는 방식이 있는 반면, 지표의 수에 따라서 자동으로 지표의 좌표값을 계산하는 방식이 있다.

    <그림 1> Severino의 레이더 차트 구조도

    Data

     다음 데이터는 이번 시즌 K리그 기록을 가져온 데이터이다. 이를 다운로드하고 태블로 데스크탑 이나 퍼블릭에서 불러온다.

    K리그.xlsx
    0.05MB

     

    구단 선수명 시즌 출장 어시스트 슈팅
    강원FC 가솔현 2020 0 0 0 0
    광주FC 김태곤 2020 0 0 0 0
    대구FC 고태규 2020 0 0 0 0
    부산아이파크 박경민 2020 0 0 0 0
    상주상무 박지민 2020 0 0 0 0
    서울FC 김원균 2020 0 0 0 0
    성남FC 김근배 2020 0 0 0 0
    수원삼성 안찬기 2020 0 0 0 0
    울산현대 김민덕 2020 0 0 0 0
    인천유나이티드 김유성 2020 0 0 0 0
    전북현대 김정훈 2020 0 0 0 0
    포항스틸러스 김주환 2020 0 0 0 0


    T
    ableau에서 레이더 차트 시각화하기

    <그림 2> 완성된 레이더 차트

     

    1. 태블로에서 레이더 차트를 시각화하는 방법은 간단하게 수행할 수 있다. 먼저, 태블로에 샘플 데이터를 연동하기 위해서 위의 실습용 샘플 데이터를 다운로드 한다.

     

    2. 태블로에서 엑셀 파일을 연동하고, 선수들 기록 정보를 선택해서 피벗을 하여 레이더 차트를 표현할 수 있도록 데이터 구조를 바꿔준다.

    ※ 태블로 주요 기능(https://jaydata.tistory.com/46)을 참고한다.

     

    3. 레이더 차트는 태블로에서 제공하는 시각화가 아니기 때문에 이를 만들기 위해서는 각 지표들의 위치 좌표가 필요하다. 두 좌표를 찍기 위해서는 360도에 표현하기 위해 변환하는 작업이 필요하다.

    <그림 3> Jonathan Trajkovic의 360도 좌표

     

     선택한 지표 별로 순서를 표현하기 위한 값이 필요하다. 계산식 Index를 만들어야 한다. 다음으로지표의 Max값을 표현하기 위해서 WINDOW_MAX()함수를 활용한다.

    구분 계산식
    계산된 'Index' 함수 INDEX()-1
    계산된 'Max Value' 함수 WINDOW_MAX(MAX([피벗 필드명]))

     지표를 선택했을 경우 자유롭게 모양을 변경하기 위해서 WINDOW_COUNT()를 활용해서 선택한 지표의 수를 샌다. 이 지표의 개수에 따라서 각도를 조정하는 'Degrees' 계산식, 'Value' 계산식과 함께 활용해서 모양이 결정된다.

    구분 계산식
    계산된 'Metric Count' 함수 WINDOW_COUNT(COUNTD([피벗 필드명]))
    계산된 'Degrees' 함수 360/[Metric Count]
    계산된 'Value' 함수 MAX([Value])/[MAX Value]

     

    앞에서 생성한 Degree와 Value를 활용하여 X좌표와 Y좌표를 계산한다.

    구분 계산식
    계산된 'X' 함수 SIN(RADIANS([Index]*[Degrees]))*[Value]
    계산된 'Y' 함수 COS(RADIANS([Index]*[Degrees]))*[Value]

     

    4-1. 도넛 차트에서 활용했던 이중축을 활용하여 레이더 마트를 구현할 수 있다. 먼저, 마크 패널에서 표현 방식을 자동에서 다각형으로 바꿔준다.

    ※ 레이블을 클릭하면 레이블의 모양, 마크, 옵션 등을 편집할 수 있다.

     

    4-2. 차원값의 구단을 색상으로, 선수명과 피벗 필드명을 세부 정보로, 측정값의 Index를 경로로 드래그한다. 다음으로, 측정값의 X를 열로 드래그하고, Y를 행으로 드래그한다.

     

    4-3. 마지막으로 행과 열 패널에 드래그한 X와 Y 알약을 오른쪽 버튼을 클릭해서 테이블 계산 편집을 진행한다. 테이블 계산 편집에서 중첩된 계산에서 Index, Max Value, Metric Count의 특정 차원을 편집해주어야 한다. 모든 계산 기준이 피벗 필드명 기준으로 집계되기 때문에, 특정 차원을 피벗 필드명으로 선택한다.

    <그림 3> 이중축을 활용하여 벤 다이어그램을 작성한 결과

    5. 시트 빈 곳에서 오른쪽 버튼을 눌러 나오는 팝업에서 서식을 들어가 레이더 차트를 표현하는데 방해될 만한 구분선 또는 배경 등을 제거한다.

    ※ 시트 구성에서 색상 또는 구분선 배경 등은 시트에서 판단하고 변경하는 것 보다 대시보드 구성 후 적절한 색상을 편집하는 것을 권장한다.

     

    6. 상단의 맞춤을 '표준'에서 '전체 보기'로 선택한다.

    <그림 4> 나머지 과정 수행 결과

     

    시각화 한 결과는 태블로 퍼블릭에서 참고할수 있다.

    public.tableau.com/views/__16011993719740/Sketch

     

    Reference

    Severino Ribecca ,"Radar Chart", datavizcatalogue.com/methods/radar_chart.html

    K 리그 포탈, data.kleague.com/

     

    댓글

Designed by Tistory.