Skip to main content

데이터 시각화 잘하기

잘못 설계된 데이터 시각화

  • 잘못 설계된 데이터 시각화는 정확한 해석을 왜곡하고 오도할 가능성
  • 2014년 Reuters에서 가져온 그래프의 예시
    • "Stand Your Ground" 법이 제정된 이후 플로리다에서 총기로 인한 사망자 수
    • 2005년 해당 법이 시행된 후 총기 관련 사망자 수가 크게 감소한 것처럼 표시
    • 실제로는 증가(y축이 반대로 되어 있음)

데이터-잉크 비율

  • 데이터와 그래프에 표시되는 요소들("잉크")의 비율
  • 격자선, 과도한 레이블, 장식 요소 등 불필요한 "잉크"를 줄임으로써 깔끔하고 효율적인 시각화

축의 간격

  • 차이가 매우 작을 경우 특정 범위로 한정할 수 있으나, 차이를 과대하게 인식할 수 있음
  • 차이가 매우 큰 경우 로그스케일을 적용할 수 있으나, 차이를 과소하게 인식할 수 있음

투명도 조절과 지터링

  • 점들이 너무 많을 경우 투명도를 조절하거나 지터링(점의 위치를 무작위로 조금씩 달리하는 것)을 통해 점들이 겹치는 것을 방지
sns.scatterplot(data=df, x='year', y='price', alpha=0.3) # 불투명도 30%

지터링 코드

import numpy as np

x = df.year # x축
y = df.price # y축
ratio = 0.1 # 10% 지터링

# 평균=0, 표준편차=10%인 정규분포에서 난수를 추출하여 무작위 노이즈로 추가
rng = np.random.default_rng(42)
x_j = x + rng.normal(0, x.std() * ratio, len(df))
y_j = y + rng.normal(0, y.std() * ratio, len(df))

sns.scatterplot(x=x_j, y=y_j)

너무 복잡한 범례는 어노테이션으로

3D 차트의 문제점

  • 원근법 때문에 비율이 왜곡됨

퀴즈

사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.

Q&A