본문 바로가기
Python/matplotlib

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

by PySun 2024. 11. 1.
반응형

파이썬 matplotlib.pyplot.scatter3D: 3D 데이터 시각화의 새로운 차원!

파이썬의 Matplotlib 라이브러리는 데이터를 시각적으로 표현하는 데 있어 매우 중요한 역할을 합니다. 그 중에서도 pyplot.scatter3D 함수는 3D 산점도를 그리는 데 사용되어, 복잡한 데이터 관계를 시각적으로 쉽게 이해할 수 있도록 도와줍니다. 이번 포스팅에서는 scatter3D 함수의 매력과 활용 방법을 살펴보겠습니다.

scatter3D 함수 소개

pyplot.scatter3D 함수는 3D 공간에서 각 데이터 포인트를 시각적으로 표현합니다. 이를 통해 우리는 고차원 데이터의 패턴을 탐색하고 분석할 수 있으며, 복잡한 관계를 한눈에 파악할 수 있습니다.

함수 시그니처

matplotlib.pyplot.scatter3D(x, y, z, c=None, s=20, cmap=None)

매개변수:

  • x: X 좌표값의 배열입니다.
  • y: Y 좌표값의 배열입니다.
  • z: Z 좌표값의 배열입니다.
  • c: 점의 색상을 지정하는 배열입니다. (선택 사항)
  • s: 점의 크기를 지정하는 값입니다. (기본값: 20)
  • cmap: 색상 맵을 지정하는 문자열입니다. (선택 사항)

반환 값:

  • 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.scatter3D(x, y, z)

# 제목 및 레이블 추가
ax.set_title('Random 3D Scatter Plot')
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')

plt.show()

색상 및 크기 커스터마이징 예제

A nice feature of scatter3D is its ability to customize point color and size based on another metric! Let's add another dimension to our visualization.

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

# Random data generation
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)
c = np.sqrt(x**2 + y**2 + z**2)  # Color based on distance from origin
s = c * 100  # Size based on the same metric

# Create a 3D plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
scatter = ax.scatter3D(x, y, z, c=c, s=s, cmap='viridis')

# Title and labels
ax.set_title('3D Scatter Plot with Custom Colors and Sizes')
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')

# Color bar for understanding color mapping
fig.colorbar(scatter)

plt.show()

결론

pyplot.scatter3D 함수는 데이터 시각화를 한 단계 끌어올립니다. 간단하면서도 매력적인 시각화 방법으로, 데이터의 복잡한 관계를 쉽게 이해할 수 있도록 도와줍니다. 따라서, 데이터 기반의 의사결정을 더욱 효과적으로 지원합니다.

  • 코드를 활용하여 멋진 3D 산점도를 시도해보세요!
  • 지금 바로 matplotlib.pyplot.scatter3D 함수로 데이터 시각화를 시작하여 새로운 통찰을 발견해보세요!
반응형