데이터에 맞는 차트 선택법
이 토픽을 마치면
데이터가 "뭘 말하려는지"에 따라 어떤 차트가 적합한지 판단할 수 있습니다.
먼저 질문하세요
차트를 고르기 전에 **"이 데이터로 뭘 보여주고 싶은지"**를 먼저 정합니다. 같은 데이터도 목적에 따라 다른 차트가 됩니다.
| 보고 싶은 것 | 차트 유형 |
|---|---|
| 크기 비교 | 막대 그래프 |
| 시간에 따른 변화 | 선 그래프 |
| 분포 (얼마나 퍼져있나) | 히스토그램, 박스플롯 |
| 두 변수의 관계 | 산점도 |
| 전체 대비 비율 | 파이 차트, 스택 바 |
1. 비교 — 막대 그래프
"부서별 매출", "국가별 인구" 같은 범주 간 크기 비교에 가장 효과적입니다.
python
sns.barplot(data=df, x='department', y='revenue')규칙:
- 항목이 많으면 가로 막대(horizontal bar)가 읽기 좋습니다
- 반드시 0에서 시작 — 100에서 시작하면 차이가 과장됩니다
- 항목 순서는 값 기준 정렬이 기본 (가나다순 아님)
2. 추세 — 선 그래프
"월별 매출", "일별 방문자" 같은 시간 흐름에 따른 변화를 보여줍니다.
python
sns.lineplot(data=df, x='month', y='revenue')규칙:
- X축은 시간 — 범주가 X축이면 선 그래프가 아니라 막대 그래프
- 여러 선을 겹칠 때 3개까지 — 그 이상은 스파게티가 됩니다
- 누적 면적 차트(area chart)는 전체 대비 변화를 동시에 보여줄 때
3. 분포 — 히스토그램, 박스플롯
"연봉이 어떻게 분포되어 있나", "이상치가 있나"를 파악합니다.
python
# 히스토그램 — 빈도 분포sns.histplot(data=df, x='salary', bins=20)
# 박스플롯 — 중앙값, 사분위, 이상치sns.boxplot(data=df, x='department', y='salary')| 히스토그램 | 박스플롯 | |
|---|---|---|
| 보여주는 것 | 전체 분포 형태 | 요약 통계 (중앙/사분위/이상치) |
| 강점 | 봉우리가 몇 개인지, 치우쳐있는지 | 그룹 간 비교, 이상치 발견 |
| 약점 | 그룹 비교가 어려움 | 세부 분포 형태가 안 보임 |
4. 관계 — 산점도
"경력이 많을수록 연봉이 높은가?" 같은 두 수치 변수 사이의 관계를 봅니다.
python
sns.scatterplot(data=df, x='experience', y='salary', hue='department')점이 직선 형태로 모이면 상관 있음, 사방에 흩어지면 상관 없음. 이전 토픽(히트맵과 산점도)에서 자세히 다뤘습니다.
5. 구성 — 파이 차트 (주의)
"전체에서 각 부분이 차지하는 비율"을 보여줍니다.
python
plt.pie(sizes, labels=labels, autopct='%1.1f%%')파이 차트를 피해야 하는 이유:
- 비슷한 크기의 조각을 눈으로 구분하기 어렵습니다 — 28%와 32%의 차이를 부채꼴 각도로 느끼기 힘듭니다
- 항목이 5개를 넘으면 거의 읽을 수 없습니다
대안: 가로 스택 바 차트가 비율 비교에 더 효과적입니다. 길이 비교는 각도 비교보다 인간의 인지 능력에 맞습니다.
선택 플로우차트
text
데이터로 보여주고 싶은 게 뭔가?
│
├─ 크기 비교 ────────→ 막대 그래프
│
├─ 시간 흐름 ────────→ 선 그래프
│
├─ 분포/이상치 ──────→ 히스토그램 or 박스플롯
│
├─ 두 변수 관계 ─────→ 산점도
│
├─ 여러 변수 상관 ───→ 히트맵
│
└─ 전체 대비 비율 ───→ 스택 바 (파이 차트 지양)나쁜 시각화의 공통점
- 3D 차트 — 원근감이 크기를 왜곡합니다
- 이중 Y축 — 스케일이 다른 두 축은 거짓 상관을 만들어냅니다
- Y축 0에서 안 시작 — 작은 차이가 거대해 보입니다
- 색상 과다 — 무지개색은 화려하지만 정보를 방해합니다
- 라벨 없음 — 축 이름, 단위, 제목이 없으면 읽을 수 없습니다
좋은 시각화는 "이 데이터가 말하는 것"을 5초 안에 파악할 수 있게 합니다.
핵심
차트를 먼저 고르지 마세요 — "뭘 보여주고 싶은지" 먼저 정하세요. 비교는 막대, 추세는 선, 분포는 히스토/박스, 관계는 산점도, 전체 비율은 스택 바. 파이 차트는 피하고, 3D와 이중 Y축도 피하세요 — 단순하고 정직한 차트가 좋은 차트입니다.