Matplotlib 3D 히스토그램

Beginner

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

소개

이 랩에서는 Python Matplotlib 을 사용하여 2D 데이터의 3D 히스토그램을 만드는 방법을 배우게 됩니다. 히스토그램은 일련의 값을 빈 (bin) 으로 그룹화하여 데이터를 시각적으로 표현하는 방식이며, 3D 히스토그램은 시각화에 세 번째 차원을 추가하여 이 개념을 확장합니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

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

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

라이브러리 임포트

3D 히스토그램을 생성하기 전에 필요한 라이브러리를 임포트해야 합니다. 이 경우 NumPy 와 Matplotlib 을 사용합니다.

import matplotlib.pyplot as plt
import numpy as np

데이터 생성

다음으로, 히스토그램에 사용할 임의의 2D 데이터를 생성합니다. NumPy 의 random.rand() 함수를 사용하여 x 및 y 변수 모두에 대해 100 개의 임의 값을 생성합니다.

## Fixing random state for reproducibility
np.random.seed(19680801)

x, y = np.random.rand(2, 100) * 4

히스토그램 생성

이제 데이터를 얻었으므로 3D 히스토그램을 생성할 수 있습니다. NumPy 의 histogram2d() 함수를 사용하여 데이터의 2D 히스토그램을 생성한 다음, Matplotlib 의 bar3d() 함수를 사용하여 히스토그램의 3D 막대 그래프를 생성합니다.

hist, xedges, yedges = np.histogram2d(x, y, bins=4, range=[[0, 4], [0, 4]])

## Construct arrays for the anchor positions of the 16 bars.
xpos, ypos = np.meshgrid(xedges[:-1] + 0.25, yedges[:-1] + 0.25, indexing="ij")
xpos = xpos.ravel()
ypos = ypos.ravel()
zpos = 0

## Construct arrays with the dimensions for the 16 bars.
dx = dy = 0.5 * np.ones_like(zpos)
dz = hist.ravel()

ax.bar3d(xpos, ypos, zpos, dx, dy, dz, zsort='average')

히스토그램 표시

마지막으로, Matplotlib 의 show() 함수를 사용하여 히스토그램을 표시할 수 있습니다.

plt.show()

요약

이 랩에서는 Python Matplotlib 을 사용하여 2D 데이터의 3D 히스토그램을 생성하는 방법을 배웠습니다. 또한, 임의의 데이터를 생성하고, 2D 히스토그램을 생성하며, 히스토그램의 3D 막대 그래프를 생성하는 방법도 배웠습니다. 이러한 단계를 따르면, 자신만의 3D 히스토그램을 생성하여 데이터를 시각화할 수 있습니다.