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 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.

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

첫 번째 단계는 필요한 라이브러리를 가져오는 것입니다. 이 랩에서는 Matplotlib 및 NumPy 라이브러리를 사용합니다.

import matplotlib.pyplot as plt
import numpy as np

데이터 생성

다음 단계는 3D 표면에 대한 데이터를 생성하는 것입니다. u, v, x, y, 및 z를 정의해야 합니다. 이 변수들은 표면을 플롯하는 데 필요한 각도와 좌표를 나타냅니다. NumPy 의 linspace() 함수는 각도를 생성하는 데 사용되며, outer() 함수는 좌표를 생성하는 데 사용됩니다.

## Make data
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))

3D 표면 플롯 생성

이제 3D 표면 플롯을 생성할 수 있습니다. 먼저 figure 를 생성하고 projection='3d' 인수를 사용하여 서브플롯을 추가합니다. 그런 다음, 이전 단계에서 생성한 데이터를 사용하여 plot_surface() 함수를 사용하여 표면을 플롯합니다.

## Plot the surface
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(x, y, z)

종횡비 설정

플롯이 동일한 종횡비를 갖도록 하기 위해 set_aspect() 함수를 사용할 수 있습니다. 종횡비를 1:1 로 설정하기 위해 문자열 값 'equal'을 전달합니다.

## Set an equal aspect ratio
ax.set_aspect('equal')

요약

이 랩에서는 Python 의 Matplotlib 을 사용하여 3D 표면 플롯을 생성하는 방법을 시연했습니다. 데이터를 생성하고, 표면을 플롯하고, 종횡비를 설정했습니다. 결과 플롯은 단색으로 표시되는 기본적인 3D 표면 플롯입니다.