관리 메뉴

Allen's 데이터 맛집

데이터 흐름 시각화 도구, 생키 다이어그램(Sankey Diagram) 본문

Data Analysis/시각화

데이터 흐름 시각화 도구, 생키 다이어그램(Sankey Diagram)

Allen93 2024. 10. 19. 10:36
이번 포스팅에선  데이터 분석에서 중요한 시각화 기법 중 하나인 생키 다이어그램(Sankey Diagram)에 대해 알아보려고 합니다. 생키 다이어그램은 복잡한 흐름과 분포를 시각적으로 표현하는 데 매우 유용한 도구입니다.

생키 다이어그램

이미지 출처:https://public.tableau.com/app/profile/ken.flerlage/viz/Sankey_25/Sankey


 

1. 생키 다이어그램이란?

 

생키 다이어그램은 에너지, 자원, 비용, 데이터 흐름 등에서 각 요소 간의 흐름과 분포를 시각화하는 데 사용되는 그래프입니다. 이 다이어그램은 흐름의 시작과 끝을 보여주는 노드(Node)와, 노드 간의 연결을 나타내는 링크(Link)로 구성됩니다.

노드(Node)는 데이터의 출발지와 도착지를 나타내며, 링크(Link)는 이들 사이의 흐름을 나타냅니다. 링크의 두께는 흐름의 양을 시각적으로 나타내며, 두꺼울수록 더 많은 양이 흐르고 있음을 의미합니다.

 

위의 그림은 생키 다이어그램의 구성 요소를 잘 보여주고 있습니다. 이 다이어그램을 통해 복잡한 데이터의 흐름을 직관적으로 이해할 수 있습니다.

 

2. 생키 다이어그램의 활용 사례

생키 다이어그램은 다양한 분야에서 활용될 수 있습니다. 몇 가지 예를 들어보겠습니다.

  • 에너지 흐름 분석: 에너지가 어디에서 생성되어 어디로 소비되는지, 그리고 중간에 얼마나 손실되는지를 시각적으로 표현합니다.
  • 비용 분포 분석: 프로젝트의 각 단계에서 어떻게 비용이 분포되는지를 시각화하여, 주요 비용 요소를 쉽게 파악할 수 있습니다.
  • 웹사이트 트래픽 분석: 사용자가 웹사이트 내에서 어떤 페이지로 이동하는지를 시각화하여, 사용자 흐름을 분석할 수 있습니다.
  • 공급망 관리: 원자재가 공급망을 따라 어떻게 이동하는지, 그리고 최종 제품이 어떻게 생산되는지를 시각적으로 보여줍니다.

3. 생키 다이어그램을 만드는 방법

생키 다이어그램을 만드는 방법은 여러 가지가 있습니다. Python을 사용하여 생키 다이어그램을 쉽게 생성할 수 있는 예제를 소개하겠습니다.

 

3.1. Python을 사용한 생키 다이어그램 생성

먼저, plotly 라이브러리를 사용하여 생키 다이어그램을 생성해보겠습니다.

import plotly.graph_objects as go

fig = go.Figure(go.Sankey(
    node=dict(
        pad=15,
        thickness=20,
        line=dict(color="black", width=0.5),
        label=["Source A", "Source B", "Source C", "Target A", "Target B", "Target C"],
        color=["blue", "green", "orange", "purple", "red", "yellow"]
    ),
    link=dict(
        source=[0, 1, 2, 0, 1, 2],
        target=[3, 3, 3, 4, 4, 5],
        value=[8, 4, 2, 2, 8, 4],
        color="rgba(63, 81, 181, 0.7)"
    )))

fig.update_layout(title_text="생키 다이어그램 예제", font_size=10)
fig.show()

이 코드는 간단한 생키 다이어그램을 생성합니다. plotly 라이브러리는 상호작용이 가능한 생키 다이어그램을 쉽게 만들 수 있어 데이터 분석에 매우 유용합니다.

 

3.2. 다른 도구를 사용한 생키 다이어그램 생성

  • Tableau: 데이터 시각화 도구인 Tableau에서도 생키 다이어그램을 쉽게 만들 수 있습니다.
  • Power BI: Microsoft의 Power BI에서도 플러그인을 통해 생키 다이어그램을 생성할 수 있습니다.

4. 생키 다이어그램의 장점

생키 다이어그램은 복잡한 데이터를 직관적으로 시각화할 수 있는 강력한 도구입니다. 주요 장점은 다음과 같습니다.

  • 데이터 흐름의 명확한 이해: 데이터를 시각적으로 표현하여, 각 요소 간의 관계와 흐름을 쉽게 이해할 수 있습니다.
  • 효율적인 커뮤니케이션: 복잡한 데이터를 간단한 시각화로 표현하여, 이해하기 쉽게 전달할 수 있습니다.
  • 데이터 분석의 유연성: 다양한 데이터 유형에 적용할 수 있어, 여러 분야에서 활용할 수 있습니다.

5. 결론

생키 다이어그램은 데이터의 흐름을 시각화하는 데 매우 유용한 도구입니다. 특히 복잡한 데이터를 다루는 데이터 분석가들에게 필수적인 도구로, 이를 활용하면 데이터의 흐름과 분포를 쉽게 이해할 수 있습니다. 여러분도 생키 다이어그램을 사용하여 데이터를 더 효율적으로 분석해 보세요!

 

생키-다이어그램

이미지출처:https://www.nytimes.com/interactive/2022/06/22/us/shootings-police-response-uvalde-buffalo.html