ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Tableau] 벤 다이어그램(Venn Diagram) 시각화하기
    Data Visualization/Tableau(Advanced) 2020. 9. 12. 00:15

    Table of Contents

    1. Introduction

    2. Data

    3. Tableau에서 벤 다이어그램 시각화하기

    4. Reference

     

    Introduction

     벤 다이어그램(Venn Diagram)는 각 영역에 포함된 정보와 두 영역에 모두 포함되는 정보를 한 눈에 표현하기 위한 목적으로 사용한다. Severino Ribecca는 <그림 1>과 같이 벤 다이어그램의 정의를 구체적으로 제시하였다. 태블로에서는 벤 다이어그램을 표현하는 방법을 표현 방식으로 제공하고 있지 않기 때문에 이를 표현하기 위해서는 몇 가지 트릭이 필요하다.

    <그림 1> Severino의 벤 다이어그램 구조도

    Data

    다음 데이터를 다운로드하고 태블로 데스크탑 이나 퍼블릭에서 불러온다.

    sample_data.xlsx
    0.02MB

     

    Date Type Product Price Visit Sales
    2017-12-31 라떼 4000 132 528000
    2017-12-31 아메리카노 3500 117 409500
    2017-12-31
    아이스 아이스 라떼 4000 145 580000
    2017-12-31
    아이스 아이스 아메리카노 3500 118 413000
    2017-12-31
    아이스 포도 주스 4500 133 598500
    2017-12-31 아이스 수박 주스 5000 0 0
    2018-01-31 라떼 4000 150 600000
    2018-01-31
    아메리카노 3500 121 423500
    2018-01-31
    아이스 아이스 라떼 4000 123 492000
    2018-01-31
    아이스 아이스 아메리카노 3500 111 388500
    2018-01-31
    아이스 포도 주스 4500 146 657000
    2018-01-31
    아이스 수박 주스 5000 0 0

     

    Tableau에서 벤 다이어그램 시각화하기

    <그림 2> 완성된 벤 다이어그램

     

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

     

    2. 태블로에서 엑셀 파일을 연동한다.

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

     

    3. 벤 다이어그램은 태블로에서 제공하는 시각화가 아니기 때문에 이를 만들기 위해서는 두 원의 위치 좌표가 필요하다. 그리고, 두 원과 교집합에 해당하는 위치의 텍스트를 입력하기 위해서 마찬가지 텍스트의 좌표가 필요하다. 'Circle_locate'는 핫 음료와 콜드 음료의 집합을 분류하고 각 각의 위치를 -1과 1로 표현한 것이다.

    계산된 'Circle_locate' 함수
    IF [Type]="핫"
    THEN -1
    ELSE 1
    END

    'text_locate'는 핫 음료과 콜드 음료 집합 그리고 교집합에 각 각의 매출액을 표현하기 위한 좌표이며 이를 -1, 0, 1로 표현하였다.

    계산된 'text_locate' 함수
    IF [Product]="라떼" OR [Product]="아이스 라떼"
    THEN 0
    ELSEIF [Type]="핫"
    THEN -1
    ELSE 1
    END

    'text_label'의 경우 일종의 트릭을 활용한 것인데, 교집합 사이에 값이 너무 크기 때문에 표현하기 위해서 교집합에 해당하는 값의 레이블을 특수문자와 줄바꿈으로 해결했다.

    계산된 'text_label' 함수
    IF [Product]="라떼" OR [Product]="아이스 라떼"
    THEN " 




    |
    |
    |
    |
    |"
    ELSEIF [Type]="핫"
    THEN "핫"
    ELSE "아이스"
    END

     

    4-1. 도넛 차트에서 활용했던 이중축을 활용하여 벤 다이어그램을 구현할 수 있다. 먼저, 측정값의 Circle_locate과 text_locate를 열로 드래그하여 두 개의 초록색 알약을 나란히 배치한다. 드래그할 경우 열 패널에는 합계(Circle_locate)와 합계(text_locate) 알약이 표현되는데, 두 알약에 대해서 오른쪽 버튼을 클릭하여 측정값을 차원으로 변경해준다.

    차원으로 변경할 경우 좌표로써 활용이 가능하다.

     

    4-2. 열 패널에 있는 초록색 알약에서 오른쪽 버튼을 클릭하면 나타나는 팝업 창에서 '이중 축'을 클릭하면 하나의 그래프가 완성이 된다.

     이 때, 두 축을 동기화하여 높이를 동일하게 하는 것이 중요하다.

     

    4-3.  마크 패널에서 Circle_locate의 표현 방식을 원으로 선택하고, text_locate의 표현방식을 텍스트로 표현한다. Circle_locate의 크리를 클릭하여 최대로 크게 키워주고, 차원값의 Type을 색상으로 드래그하여 핫과 아이스 음료의 색상을 표현한 다음 불투명 정도를 조절하여 교집합도 보일 수 있도록 한다. text_locate에는 앞에서 생성한 text_label을 텍스트로 드래그하여 벤 다이어그램을 쉽게 알아 볼 수 있도록 표현해준다.

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

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

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

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

     

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

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

     

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

    public.tableau.com/views/__15998344075370/Sketch

     

    Reference

    Severino Ribecca ,"Venn Diagram", datavizcatalogue.com/methods/venn_diagram.html

    jay, "[Tableau] 도넛 차트(Donut Chart) 시각화하기", https://jaydata.tistory.com/61

     

     

     

    댓글

Designed by Tistory.