1. 히스토그램 (Histogram)

histogram04

1) 정의

  • 데이터를 일정한 구간(빈, bin)으로 나누고 각 구간에 포함된 데이터 개수를 시각화하는 막대 그래프
  • 데이터의 빈도를 중심으로 분포를 확인할 수 있음

2) 특징

  • x축은 데이터의 값 또는 값의 범위를 나타냄
  • y축은 각 구간(bin)에 포함된 데이터 개수(빈도)를 나타냄
  • 특정 값에 데이터가 몰려 있는지, 또는 고르게 분포되어 있는지 확인 가능

3) 장단점

  • 장점
    • 데이터의 전체 분포를 직관적으로 파악 가능
    • 대량의 데이터를 요약해서 보여줌
  • 단점
    • 빈(bin)의 크기와 개수에 따라 결과가 달라질 수 있음
    • 개별 데이터의 세부 정보를 확인할 수 없음

4) 히스토그램과 막대 그래프의 차이점

histogram05

구분 히스토그램 막대 그래프
데이터 유형 연속형 데이터 범주형 데이터
막대 간격 막대가 연결되어 있음 막대 사이에 간격이 있음
용도 데이터의 분포 확인 데이터의 비교
x축 값의 범위 데이터의 이름 또는 범주
y축 값의 빈도수 값의 크기 또는 수량
  • 히스토그램은 연속적인 데이터를 특정 구간으로 나누어 표시(예: 키, 몸무게, 나이).
  • 막대 그래프는 카테고리 데이터(예: 제품 A, B, C의 매출 비교)를 표시할 때 적합.

5) 예제 코드

import matplotlib.pyplot as plt
import seaborn as sns

# 예제 데이터
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]

# 히스토그램
plt.figure(figsize=(7, 4))
sns.histplot(data, bins=5, kde=False)
plt.title('히스토그램')
plt.xlabel('값')
plt.ylabel('빈도')
plt.show()


2. 박스 플롯 (Boxplot)

boxplot_image

boxplot_detail_image

1) 정의

  • 데이터의 요약 통계량(중앙값, 사분위수 등)을 시각화하며 분포와 이상치를 효과적으로 보여주는 그래프
  • 박스는 1사분위수(Q1)와 3사분위수(Q3) 사이를 나타내고, 중앙선은 중앙값(Median)을 의미
  • 수염(whisker)은 IQR(Interquartile Range) 내의 데이터를 나타냄
  • 이상치는 수염 밖의 점으로 표시

2) 특징

  • 데이터의 요약 통계량을 시각적으로 표현
  • 이상치와 분포의 대칭성을 한눈에 파악 가능

3) 장단점

  • 장점
    • 데이터의 주요 통계 정보(중앙값, 사분위수, 이상치 등)를 명확히 보여줌
    • 분포의 대칭성 여부를 확인하기 용이
  • 단점
    • 데이터의 빈도를 직접적으로 알 수 없음
    • 분포의 세부적인 모양은 덜 보여줌

4) 예제 코드

plt.figure(figsize=(7, 4))
sns.boxplot(data=data)
plt.title('박스 플롯')
plt.xlabel('데이터')
plt.show()

3. 히스토그램과 박스 플롯 비교

histogram_box_plot

특징 히스토그램 박스 플롯
목적 데이터 분포와 빈도 확인 데이터의 요약 통계량 및 이상치 파악
x축 데이터 값 또는 값의 범위 단일 축 (데이터의 그룹이나 이름)
y축 각 값 또는 범위의 빈도 없음 (데이터 통계 정보 중심)
분포 확인 데이터 분포의 모양과 밀집된 영역 확인 중앙값, 범위 및 이상치 확인
이상치 표시 직접적으로 표시하지 않음 이상치를 명확히 표시

Reference