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

Python Matplotlib로 히스토그램 그리는 방법: 설치부터 코드 예제까지

Matplotlib란 무엇인가?

Matplotlib는 데이터 시각화를 위해 가장 널리 사용되는 대표적인 Python 패키지입니다.

데이터 시각화는 분석 과정에서 매우 중요한 단계입니다. 복잡한 계산을 수행하거나 숫자를 일일이 살펴보지 않아도 데이터에 어떤 현상이 일어나고 있는지 직관적으로 파악할 수 있기 때문입니다. 또한 정량적인 인사이트를 청중에게 효과적으로 전달하는 데에도 큰 도움이 됩니다.

Matplotlib는 2차원 플롯을 그리는 데 사용되며, 객체 지향 API를 제공하여 Python 애플리케이션 안에 손쉽게 플롯을 삽입할 수 있습니다. IPython 셸, Jupyter Notebook, Spyder IDE 등 다양한 환경에서 활용 가능합니다.

Matplotlib는 Python으로 작성되었으며, 수치 연산 패키지인 NumPy를 기반으로 만들어졌습니다.

Matplotlib 설치 방법

Windows 환경에서는 아래 명령어 하나로 간단히 설치할 수 있습니다.

pip install matplotlib

Matplotlib의 주요 의존성 패키지는 다음과 같습니다.

Python (3.4 버전 이상)
NumPy
Setuptools
Pyparsing
Libpng
Pytz
FreeType
Six
Cycler
Dateutil

히스토그램 그리기 예제 코드

이제 Matplotlib를 사용해 히스토그램을 그리는 방법을 예제를 통해 살펴보겠습니다.

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(19875871)

meanVal = 125
stdDevVal = 35

x = meanVal + stdDevVal * np.random.randn(764)

num_bins = 36

fig, ax = plt.subplots()
n, bins, patches = ax.hist(x, num_bins, density=True)

y = ((1 / (np.sqrt(2 * np.pi) * stdDevVal)) *
np.exp(-0.5 * (1 / stdDevVal * (bins - meanVal))**2))

ax.plot(bins, y, '--')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_title('A simple histogram')

fig.tight_layout()
plt.show()

코드 상세 설명

  • 필요한 패키지들을 임포트하고, 사용 편의성을 위해 별칭(alias)을 지정합니다.

  • 'random' 라이브러리의 'seed' 함수를 사용해 재현 가능한 난수 데이터를 생성합니다.

  • 평균(mean) 값과 표준편차(standard deviation) 값을 정의합니다.

  • 히스토그램에 표시할 구간(bin)의 개수, 즉 막대(직사각형 블록)의 개수를 지정합니다.

  • 'subplots' 함수를 사용해 빈 figure와 축 객체를 생성합니다.

  • 'hist' 함수를 호출하여 히스토그램을 그립니다.

  • 'plot' 함수를 사용해 정규분포 곡선을 함께 표시합니다.

  • 'set_xlabel', 'set_ylabel', 'set_title' 함수로 X축, Y축 레이블과 차트 제목을 설정합니다.

  • 점선으로 표시된 종 모양 곡선(정규분포)이 데이터 분포와 함께 나타납니다.

  • 마지막으로 'show' 함수를 통해 결과를 화면에 출력합니다.