Python Matplotlib 로 3D 산점도 만들기

Beginner

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

소개

이 튜토리얼은 Python 의 Matplotlib 라이브러리를 사용하여 3D 산점도를 만드는 방법을 안내합니다. 산점도는 세 변수 간의 관계를 시각적으로 표현한 것입니다. 복잡한 데이터에서 패턴과 추세를 식별하는 데 유용한 도구입니다.

VM 팁

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

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

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

필요한 라이브러리 가져오기

3D 산점도를 만들기 위해 Matplotlib 라이브러리를 사용합니다. 또한, NumPy 라이브러리를 사용하여 임의의 데이터를 생성합니다.

import matplotlib.pyplot as plt
import numpy as np

데이터 설정

NumPy 라이브러리를 사용하여 임의의 값으로 두 개의 데이터 세트를 생성합니다. 한 세트는 x 및 y 좌표를 나타내고, 다른 세트는 z 좌표를 나타냅니다.

def randrange(n, vmin, vmax):
    """
    Helper function to make an array of random numbers having shape (n, )
    with each number distributed Uniform(vmin, vmax).
    """
    return (vmax - vmin)*np.random.rand(n) + vmin

n = 100

for m, zlow, zhigh in [('o', -50, -25), ('^', -30, -5)]:
    xs = randrange(n, 23, 32)
    ys = randrange(n, 0, 100)
    zs = randrange(n, zlow, zhigh)

Figure 및 Subplot 생성

Matplotlib 라이브러리의 add_subplot 함수를 사용하여 figure 와 subplot 을 생성합니다. 또한, 3D 플롯을 생성하기 위해 projection 을 '3d'로 설정합니다.

fig = plt.figure()
ax = fig.add_subplot(projection='3d')

산점도 (Scatterplot) 생성

Matplotlib 라이브러리의 scatter 함수를 사용하여 산점도를 생성합니다. x, y, z 좌표와 마커 스타일을 전달합니다.

ax.scatter(xs, ys, zs, marker=m)

축 레이블 설정

Matplotlib 라이브러리의 set_xlabel, set_ylabel, 및 set_zlabel 함수를 사용하여 x, y, z 축의 레이블을 설정합니다.

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

플롯 표시

Matplotlib 라이브러리의 show 함수를 사용하여 플롯을 표시합니다.

plt.show()

요약

이 튜토리얼에서는 Python 에서 Matplotlib 라이브러리를 사용하여 3D 산점도를 만드는 방법을 배웠습니다. NumPy 라이브러리를 사용하여 데이터를 설정하고, add_subplot 함수를 사용하여 figure 와 subplot 을 생성했으며, scatter 함수를 사용하여 산점도를 만들었습니다. 또한 set_xlabel, set_ylabel, 및 set_zlabel 함수를 사용하여 축 레이블을 설정하고, show 함수를 사용하여 플롯을 표시했습니다. 이러한 기술을 통해 복잡한 데이터를 분석하고 시각화하기 위해 3D 산점도를 생성하고 사용자 정의할 수 있습니다.