Python Matplotlib 히스토그램 튜토리얼

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩은 Python Matplotlib 라이브러리를 사용하여 히스토그램을 만드는 방법에 대한 단계별 튜토리얼입니다. 히스토그램은 수치 데이터의 분포를 시각적으로 표현한 것입니다. 연속 변수의 확률 분포를 추정하는 데 사용됩니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접속하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

필요한 라이브러리 임포트

이 단계에서는 numpy 와 matplotlib 두 개의 라이브러리를 임포트합니다. Numpy 는 Python 프로그래밍 언어를 위한 라이브러리로, 대규모 다차원 배열과 행렬을 지원합니다. Matplotlib 은 Python 프로그래밍 언어를 위한 플로팅 라이브러리입니다.

import numpy as np
import matplotlib.pyplot as plt

샘플 데이터 생성

이 단계에서는 numpy 를 사용하여 샘플 데이터를 생성합니다. 평균 100, 표준 편차 15 인 정규 분포에서 무작위 데이터를 생성합니다.

np.random.seed(19680801)
mu = 100  ## 분포의 평균 (mean)
sigma = 15  ## 분포의 표준 편차 (standard deviation)
x = mu + sigma * np.random.randn(437)

히스토그램 생성

이 단계에서는 matplotlib 을 사용하여 히스토그램을 생성합니다. 빈 (bin) 의 수를 50 으로 설정하고, 히스토그램의 적분이 1 이 되도록 빈 높이를 정규화하기 위해 density 매개변수를 활성화합니다.

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

최적 적합선 추가

이 단계에서는 히스토그램에 최적 적합선을 추가합니다. 선의 y 값을 계산하고 히스토그램 위에 플롯합니다.

y = ((1 / (np.sqrt(2 * np.pi) * sigma)) *
     np.exp(-0.5 * (1 / sigma * (bins - mu))**2))
ax.plot(bins, y, '--')

히스토그램 사용자 정의

이 단계에서는 레이블, 제목을 추가하고 레이아웃을 조정하여 히스토그램을 사용자 정의합니다.

ax.set_xlabel('Smarts')
ax.set_ylabel('Probability density')
ax.set_title(r'Histogram of IQ: $\mu=100$, $\sigma=15$')
fig.tight_layout()
plt.show()

요약

이 랩에서는 Python Matplotlib 라이브러리를 사용하여 히스토그램을 만드는 방법을 배웠습니다. 정규 분포에서 샘플 데이터를 생성하고 matplotlib 를 사용하여 히스토그램을 만들었습니다. 또한 최적 적합선을 추가하고 레이블과 제목을 추가하여 히스토그램을 사용자 정의했습니다.