본문 바로가기
Python/matplotlib

파이썬 matplotlib.projection.Axes3D 함수 활용하기

by PySun 2024. 11. 6.
반응형

파이썬 Matplotlib의 Axes3D: 3D 플로팅의 새로운 차원 열기

파이썬의 Matplotlib 라이브러리는 2D 플롯팅에 주로 사용되지만, matplotlib.projection.Axes3D를 활용하면 3D 데이터를도 시각화할 수 있습니다. 이 포스팅에서는 Axes3D 클래스를 통해 3D 플로팅의 기초와 예제를 소개합니다.

Axes3D 클래스 소개

matplotlib.projection.Axes3D 클래스는 3D 플롯의 공간을 생성하고 조작할 수 있는 강력한 도구입니다. 이를 통해 데이터 포인트를 3차원 공간에 시각화하여 보다 직관적인 데이터 분석이 가능하게 됩니다.

클래스 시그니처

from mpl_toolkits.mplot3d import Axes3D

생성 방법:

  • fig.add_subplot(111, projection='3d')를 사용하여 3D 플롯을 생성합니다.

용도:

  • 데이터의 3D 분포를 시각화하고 패턴을 파악하기 위해 사용됩니다.
  • 과학적 데이터, 모델링 및 분석 시 각기 다른 시각으로 데이터를 탐색할 수 있습니다.

사용 예제

기본 3D 플롯 예제

아래 코드는 기본적인 3D 산점도를 생성하는 예제입니다.

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# 데이터 생성
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)

# 3D 플롯 생성
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z)

# 레이블 설정
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
ax.set_title('Basic 3D Scatter Plot')

plt.show()

3D Surface Plot 예제

이번 예제는 3D 표면 플롯을 생성하여 함수의 형태를 시각화하는 것입니다.

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# 데이터 생성
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))

# 3D 표면 플롯 생성
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(x, y, z, cmap='viridis')

# 레이블 설정
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
ax.set_title('3D Surface Plot')

plt.show()

결론

matplotlib.projection.Axes3D를 활용하면 3D 데이터의 시각화가 가능해집니다. 이러한 3D 플롯팅은 데이터의 상관 관계를 이해하고 시각적으로 전달하는 데 큰 도움이 됩니다. 이제 여러분의 데이터를 한층 더 차원 있게 표현해 보세요!

  • 3D 플롯으로 여러분의 데이터를 시각적으로 탐색해보세요.
  • 지금 바로 Axes3D 클래스를 활용하여 데이터 분석의 새로운 지평을 열어보세요!
반응형