히스토그램(Hist plot) – matplot document은 데이터의 분포를 시각화하는 데 사용됩니다. 연속적인 데이터를 특정 구간(bin)으로 나누고, 각 구간에 속하는 데이터 포인트의 개수(빈도)를 막대로 표현합니다. 주로 통계 분석, 데이터 분포 확인, 이상치 탐지 등에 활용됩니다.
기본 사용법
matplotlib.pyplot.hist()
함수를 사용합니다. 주요 매개변수는 다음과 같습니다.
plt.hist(data, bins=30, color="skyblue", edgecolor="black", alpha=0.6)
Hist plot Code
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(10)
data = np.random.randn(1000) # random Data 1000 EA
plt.hist(data, bins=30, alpha=0.75, edgecolor='black')
"""
data: The data to use for the histogram.
bins=30: Number of bins in the histogram.
alpha=0.75: Transparency of the bars.
edgecolor='black': Border color of the bars.
"""
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram Example')
plt.grid(True) # Add grid for better visualization
plt.show()
주의사항
bins
선택: 너무 적으면 분포를 제대로 표현하지 못하고, 너무 많으면 노이즈가 생깁니다.- 정규화:
density=True
로 설정하면 확률 밀도 함수로 변환됩니다. 전체 면적이 1이 되도록 스케일링됩니다.
활용 사례
- 데이터 분포 분석: 정규 분포, 균등 분포, 왜도/첨도 확인.
- 이상치 탐지: 꼬리 부분에 이상치가 있는지 확인.
- 다중 데이터 비교: 여러 데이터셋의 분포를 겹쳐서 비교.
히스토그램(Histogram)과 막대그래프(Bar Chart)는 시각적으로 유사해 보이지만 목적, 데이터 유형, 해석 방법에서 근본적인 차이가 있습니다. 사실 최근까지 차이점을 모르고 그냥 사용을 하고 있었어서 조금 정리 해봤습니다.
히스토그램 | 막대그래프 |
---|---|
연속형(Continuous) 데이터를 다룹니다. (예: 연령, 온도, 시간) | 범주형(Categorical) 데이터를 다룹니다. (예: 과일 종류, 지역, 성별) |
데이터를 구간(bin)으로 나누고 빈도를 계산합니다. | 각 범주(category)의 값을 직접 비교합니다. |
데이터의 분포를 파악합니다. (예: 정규 분포, 편향, 이상치) | 범주 간 값의 차이를 비교합니다. (예: 판매량, 투표 결과) |
“100명의 키 데이터 분포” → x축: 150~160cm, 160~170cm, … (구간) → y축: 각 구간에 속하는 사람 수 | “과일별 판매량 비교” → x축: 사과, 바나나, 오렌지 (범주) → y축: 각 과일의 판매량 |
둘을 혼동하지 않고 상황에 맞게 사용하는 것이 중요합니다.