Skip to Content
이론 및 개념 (Concepts)Visualization개요

시각화

Matplotlib, Seaborn, Plotly를 활용한 데이터 시각화 레시피 모음입니다. 기본 차트부터 인터랙티브 대시보드까지 다양한 시각화 기법을 학습합니다.

라이브러리 비교

라이브러리특징사용 시점
Matplotlib기본, 세밀한 커스터마이징논문, 보고서용 정적 차트
Seaborn통계 시각화 특화, 예쁜 기본 스타일EDA, 분포/상관관계 분석
Plotly인터랙티브, 웹 기반대시보드, 프레젠테이션
Altair선언적 문법, 간결함빠른 탐색적 분석

커리큘럼

1. 기본 차트

초급

막대 그래프, 라인 차트, 산점도 등 기본적인 차트를 학습합니다.

  • 막대 그래프 (Bar Chart)
  • 라인 차트 (Line Chart)
  • 산점도 (Scatter Plot)
  • 파이 차트 (Pie Chart)
  • 히스토그램 (Histogram)

기본 차트 시작하기 →


2. 히트맵

중급

상관관계, 시간대별 패턴 등을 히트맵으로 시각화하는 방법을 학습합니다.

  • 상관관계 히트맵
  • 시간 × 요일 히트맵 (활동 패턴)
  • 피벗 테이블 기반 히트맵
  • 클러스터맵 (Clustermap)

히트맵 시작하기 →


3. 트리맵

중급

계층적 데이터를 면적으로 표현하는 트리맵을 학습합니다.

  • 카테고리별 매출 비중
  • 계층적 구조 표현 (부서 > 팀 > 제품)
  • 색상으로 성과 표현 (성장률 등)
  • Plotly와 Squarify 활용

트리맵 시작하기 →


4. Sankey 다이어그램

중급고급

흐름(flow)을 시각화하는 Sankey 다이어그램을 학습합니다.

  • 마케팅 퍼널 시각화
  • 채널별 전환 흐름
  • 고객 여정 분석
  • 노드와 링크 구성

Sankey 다이어그램 시작하기 →


5. 지리 시각화

중급고급

지도 기반 데이터 시각화 방법을 학습합니다.

  • Folium으로 인터랙티브 지도
  • Choropleth (단계구분도)
  • 마커와 팝업
  • 위치 기반 클러스터링

지리 시각화 시작하기 →


6. 애니메이션 차트

고급

시간에 따른 변화를 애니메이션으로 표현하는 방법을 학습합니다.

  • Matplotlib Animation
  • Plotly Express 애니메이션
  • 시간에 따른 순위 변화 (Racing Bar Chart)
  • GIF/MP4 내보내기

애니메이션 차트 시작하기 →


7. 인터랙티브 대시보드

고급

Plotly와 Streamlit을 활용한 인터랙티브 대시보드 구축을 학습합니다.

  • Plotly Dash 기초
  • Streamlit 대시보드
  • 필터와 콜백
  • 실시간 데이터 연동

인터랙티브 대시보드 시작하기 →

차트 선택 가이드

ℹ️
어떤 차트를 선택해야 할까?

비교할 때:

  • 카테고리 비교 → 막대 그래프
  • 시간에 따른 변화 → 라인 차트
  • 순위 비교 → 수평 막대 그래프

분포를 볼 때:

  • 단일 변수 분포 → 히스토그램, 박스플롯
  • 두 변수 관계 → 산점도
  • 상관관계 행렬 → 히트맵

구성을 볼 때:

  • 전체 대비 비중 → 파이 차트, 트리맵
  • 부분의 합 → 누적 막대 그래프
  • 흐름/전환 → Sankey 다이어그램

지리를 볼 때:

  • 지역별 값 → Choropleth
  • 위치 표시 → 마커 지도
  • 밀도 → 히트맵 지도

기본 설정 코드

import matplotlib.pyplot as plt import seaborn as sns import plotly.express as px import plotly.graph_objects as go # Matplotlib 한글 폰트 설정 plt.rcParams['font.family'] = 'AppleGothic' # macOS # plt.rcParams['font.family'] = 'Malgun Gothic' # Windows # plt.rcParams['font.family'] = 'NanumGothic' # Linux plt.rcParams['axes.unicode_minus'] = False # 기본 스타일 설정 plt.style.use('seaborn-v0_8-whitegrid') sns.set_palette('husl') plt.rcParams['figure.figsize'] = (12, 6) # Plotly 기본 템플릿 import plotly.io as pio pio.templates.default = 'plotly_white'

색상 팔레트 추천

용도팔레트코드
범주형tab10sns.color_palette('tab10')
순차형Bluessns.color_palette('Blues')
발산형RdYlGnsns.color_palette('RdYlGn')
강조Set2sns.color_palette('Set2')
Last updated on

🤖AI 모의면접실전처럼 연습하기