📊 매트플롯립에서의 히스토그램 10가지 유형 (예제와 함께)
Updated on

히스토그램은 데이터 분포를 시각화하는 가장 일반적인 도구 중 하나입니다. Python의 matplotlib
을 사용하면 히스토그램을 여러 방식으로 커스터마이징하여 데이터를 더 잘 이해할 수 있습니다.
이번 글에서는 10가지 히스토그램 유형, 각각이 사용되는 목적과 생성 방법을 소개합니다.
1. 기본 히스토그램
📌 용도:
데이터셋의 빈도 분포를 시각화합니다.
plt.hist(data)
plt.title("기본 히스토그램")
plt.xlabel("값")
plt.ylabel("빈도수")
2. 사용자 정의 구간이 포함된 히스토그램
📌 용도:
구간(bin)의 개수로 해상도를 조절하여 히스토그램의 정밀도를 조정합니다.
plt.hist(data, bins=20)
plt.title("커스텀 구간이 있는 히스토그램")
3. 컬러 히스토그램
📌 용도:
히스토그램의 가독성을 높이거나 컬러 팔레트에 맞게 조정합니다.
plt.hist(data, color='skyblue', edgecolor='black')
plt.title("컬러 히스토그램")
4. 정규화된 히스토그램 (밀도)
📌 용도:
빈도수 대신 확률밀도(확률분포)를 보여줍니다 — 분포 비교에 유용합니다.
plt.hist(data, density=True, color='lightgreen', edgecolor='black')
plt.title("정규화된 히스토그램 (밀도)")
5. 누적 히스토그램
📌 용도:
데이터의 누적 합을 시각화 — 시간이나 값이 축적되어 가는 과정을 보여줍니다.
plt.hist(data, cumulative=True, color='orange', edgecolor='black')
plt.title("누적 히스토그램")
6. KDE 오버레이가 포함된 히스토그램
📌 용도:
부드러운 밀도 곡선을 겹쳐서 분포 모양을 추정합니다.
import seaborn as sns
sns.histplot(data, kde=True, color='mediumpurple', edgecolor='black')
plt.title("KDE를 겹친 히스토그램")
7. 스택형 히스토그램
📌 용도:
여러 분포를 나란히 비교하고, 각각이 전체에 기여하는 바를 보여줍니다.
plt.hist([data1, data2], stacked=True, color=['steelblue', 'salmon'], edgecolor='black')
plt.title("스택형 히스토그램")
plt.legend(['데이터셋 1', '데이터셋 2'])
8. 스텝 스타일 히스토그램
📌 용도:
외곽선만 보여주는 히스토그램 — 여러 데이터셋 비교 시 군더더기 없이 깔끔하게 표현.
plt.hist(data, histtype='step', color='darkgreen')
plt.title("스텝 스타일 히스토그램")
9. 가로 방향 히스토그램
📌 용도:
축을 뒤집기 — y축 라벨이 더 의미 있거나 공간이 부족할 때 유용.
plt.hist(data, orientation='horizontal', color='plum', edgecolor='black')
plt.title("가로 방향 히스토그램")
10. 가중치가 적용된 히스토그램
📌 용도:
값에 가중치를 부여 — 데이터 포인트마다 중요도나 빈도가 다른 경우에 유용.
weights = np.random.rand(len(data))
plt.hist(data, weights=weights, color='goldenrod', edgecolor='black')
plt.title("가중치 히스토그램")
🧠 결론
히스토그램은 단순한 막대 그래프를 넘어, 데이터의 특정 인사이트를 전달하는 강력한 도구입니다. 스타일과 유형을 적절히 활용하면 데이터 스토리텔링 능력이 더욱 향상됩니다. 데이터 분석이나 최종 보고서 작성 시, 이러한 변형들을 익혀두면 유용합니다.