Captain's Log
← Observatory
Observatory·

데이터를 보이게 만들기 — matplotlib·seaborn 시각화

Line·Bar·Pie·Histogram·Box·Scatter·Heatmap부터 Twin Axis·Log Scale·주석까지 13가지 그래프를 매출 데이터로 실습하며, '명확성·일관성·맥락'의 시각화 원칙을 익힌 기록.

TrainingDataVisualization

왜 그래프인가

숫자 표만으로는 패턴이 안 보인다. 매출 데이터셋 하나로 그래프 유형별 목적을 매핑하며 실습했다.

그래프언제 쓰나
Line시간에 따른 추세
Bar / Grouped Bar범주 비교 / 범주+세그먼트 비교
Pie비율
Histogram분포
Box이상치·중앙값
Scatter두 변수의 상관관계
Heatmap행/열 매핑

실습한 것들

  • 월별 매출 추세를 marker='o', linewidth=2, grid=True 로 그리기
  • 지역별로 여러 선을 한 그래프에 그리고 legend 추가
  • 지역 × 제품을 hue 로 나눈 Grouped Bar
  • autopct='%.1f%%' 로 비율을 표시한 Pie
  • 서로 단위가 다른 두 지표를 Twin Axis(이중 축)로 겹치기
  • 값의 범위가 극단적일 때 Log Scale 적용
  • 특정 막대만 색으로 강조하고, annotation 으로 주석 달기

한글 폰트와 스타일

plt.style.use("seaborn-v0_8")
plt.rcParams["font.family"] = "Malgun Gothic"
plt.rcParams["axes.unicode_minus"] = False

한글이 깨지거나 마이너스 기호가 네모로 나오는 문제를 rcParams 로 해결하는 건, 실습 내내 반복되는 필수 세팅이었다.

3C 원칙

마지막 정리는 시각화의 태도였다 — 명확성(Clarity)·일관성(Consistency)·맥락(Context). 화려한 그래프보다, 보는 사람이 한눈에 메시지를 읽을 수 있는 그래프가 좋은 그래프다.

정리

같은 데이터도 어떤 그래프로 그리느냐에 따라 전혀 다른 이야기가 된다. 이후 EDA에서 분포·상관을 확인할 때, 여기서 익힌 그래프 선택 감각이 그대로 무기가 됐다.