본문 바로가기
Python/matplotlib

파이썬 matplotlib.pyplot.plot_surface 함수 활용하기

by PySun 2024. 11. 1.
반응형

파이썬의 matplotlib.pyplot.plot_surface 함수: 3D 그래프 그리기!

데이터 시각화는 복잡한 정보를 한눈에 이해하게 해주는 강력한 도구입니다. 그중에서도 matplotlib 라이브러리는 그래픽 시각화를 위한 다양한 기능을 제공하고 있으며, plot_surface 함수는 3D 표면 그래프를 그릴 수 있는 멋진 도구입니다. 이번 포스팅에서는 plot_surface 함수를 활용하여 3D 그래프를 어떻게 그릴 수 있는지 알아보겠습니다.

matplotlib.pyplot.plot_surface 함수 소개

matplotlib.pyplot.plot_surface 함수는 X, Y, Z 좌표값에 따라 표면을 형성하는 3D 플롯을 생성합니다. 이 함수는 과학적 데이터, 수학적 함수 등을 시각적으로 표현할 때 유용합니다. 많은 데이터가 숨겨진 3D 패턴을 시각적으로 드러내는 데 큰 도움이 됩니다.

함수 시그니처

plot_surface(X, Y, Z, **kwargs)

매개변수:

  • X: X 좌표값을 나타내는 배열입니다.
  • Y: Y 좌표값을 나타내는 배열입니다.
  • Z: 각 (X, Y) 쌍에 대한 Z 좌표값을 나타내는 배열입니다.

반환 값:

  • 생성된 3D 표면 플롯 객체를 반환합니다.

사용 예제

기본 예제

다음은 plot_surface 함수를 사용하여 기본적인 3D 표면을 그리는 예제입니다. 수학적 함수 z = sin(sqrt(x^2 + y^2))을 사용해보겠습니다.

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

# 데이터 생성
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_title('3D Surface Plot: z = sin(sqrt(x^2 + y^2))')
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')

plt.show()

다양한 색상 맵 사용하기

색상 맵을 변경하여 다양한 스타일의 3D 표면 그래프를 만들어 볼 수 있습니다. 다음 예제에서 plasma 색상 맵을 사용할 것입니다.

# 3D 서피스 플롯 생성 (다른 색상 맵)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap='plasma')

# 그래프 설정
ax.set_title('3D Surface Plot with Plasma colormap')
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')

plt.show()

결론

plot_surface 함수는 데이터의 복잡한 관계를 시각적으로 쉽게 이해할 수 있도록 도와줍니다. 다양한 수학적 함수 및 데이터 세트를 사용하여 더 많은 패턴과 통찰력을 찾을 수 있습니다. 데이터 분석의 세계에서 시각화는 중요한 역할을 하므로 차근차근 시도해보세요!

  • plot_surface 함수를 활용하여 데이터의 숨겨진 패턴을 발견하세요!
  • 다양한 색상 맵과 기능을 활용해보면서 나만의 시각화 스타일을 만들어 보세요!
반응형