Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib로 2D 히스토그램 그리기: hist2d() 완벽 가이드

데이터 분석에서 두 변수 간의 관계와 밀도를 한눈에 파악하려면 2D 히스토그램이 매우 유용합니다. Matplotlib에서는 hist2d() 메서드를 사용해 간단하게 2차원 히스토그램을 그릴 수 있습니다.

2D 히스토그램 그리는 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
  • NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.
  • figure와 subplot 집합을 생성합니다.
  • hist2d() 메서드를 사용하여 x와 y 데이터를 플로팅합니다.
  • 플롯의 제목을 설정합니다.
  • show() 메서드를 호출하여 그림을 화면에 표시합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = 2 * np.random.randn(5000)
y = x + np.random.randn(5000)

fig, ax = plt.subplots()
_ = ax.hist2d(x[::10], y[::10])

ax.set_title('2D Histogram')

plt.show()

코드 설명

위 예제에서는 np.random.randn()으로 정규분포를 따르는 5,000개의 난수를 생성한 뒤, y 값에 x 값을 더해 두 변수 간에 상관관계가 있도록 만들었습니다. x[::10], y[::10] 슬라이싱을 통해 데이터를 10개 간격으로 샘플링하여 히스토그램의 밀도를 적절히 조절했습니다.

hist2d() 메서드는 x축과 y축을 각각 일정한 구간(bin)으로 나누고, 각 격자 셀에 해당하는 데이터 포인트의 개수를 색상 농도로 표현합니다. 결과적으로 데이터가 밀집된 영역일수록 진한 색으로 나타나며, 두 변수의 분포와 상관관계를 직관적으로 확인할 수 있습니다.

실행 결과

Matplotlib로 2D 히스토그램 그리기: hist2d() 완벽 가이드

실행하면 위와 같이 노란색에서 보라색으로 이어지는 컬러맵을 통해 데이터 밀도가 시각화된 2D 히스토그램을 확인할 수 있습니다. 필요에 따라 cmap 인자로 컬러맵을 변경하거나, bins 인자로 구간 개수를 조정해 더 세밀한 분석도 가능합니다.