Allen's 데이터 맛집
데이터 흐름 시각화 도구, 생키 다이어그램(Sankey Diagram) 본문
이번 포스팅에선 데이터 분석에서 중요한 시각화 기법 중 하나인 생키 다이어그램(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