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

matplotlib의 n, bins, patches란 무엇인가?

matplotlib의 hist() 메서드는 세 가지 값을 반환합니다. 바로 n, bins, patches입니다.

n은 각 구간(bin)에 해당하는 데이터의 개수(히스토그램 높이)를 담은 배열입니다. bins는 데이터 범위를 나누는 동일한 너비의 구간 경계값 배열을 의미하며, 구간의 개수를 결정하는 역할도 합니다. patches는 히스토그램을 구성하는 개별 막대(아티스트 객체)들을 담고 있는 컨테이너로, 입력 데이터셋이 여러 개인 경우에는 이러한 컨테이너들의 리스트가 반환됩니다.

이번 글에서는 간단한 예제를 통해 이 값들이 실제로 어떻게 동작하는지 살펴보겠습니다.

구현 단계

  • 그림(figure) 크기를 설정하고, 서브플롯 주변 및 사이의 여백을 조정합니다.

  • numpy를 사용하여 난수 데이터 포인트를 생성합니다.

  • bin을 100개로 지정하여 히스토그램을 그립니다.

  • 아티스트 객체에 속성(막대 색상 등)을 설정합니다.

  • show() 메서드를 호출하여 그림을 화면에 표시합니다.

예제 코드

import numpy as np
import matplotlib.pyplot as plt

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

x = np.random.normal(size=100)

n, bins, patches = plt.hist(x, bins=100)

plt.setp(patches[0], 'facecolor', 'yellow')

plt.show()

실행 결과

matplotlib의 n, bins, patches란 무엇인가?

위 코드에서 plt.setp(patches[0], 'facecolor', 'yellow') 부분은 반환된 patches 중 첫 번째 막대의 색상을 노란색으로 변경하는 예시입니다. 이처럼 patches를 활용하면 히스토그램의 개별 막대를 자유롭게 제어할 수 있습니다.