반응형
파이썬 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 함수로 데이터 시각화를 시작하여 새로운 통찰을 발견해보세요!
반응형
'Python > matplotlib' 카테고리의 다른 글
matplotlib ValueError: shapes (nx,4) and (m,) not aligned 해결하기 (1) | 2024.11.01 |
---|---|
파이썬 matplotlib.pyplot.plot_surface 함수 활용하기 (2) | 2024.11.01 |
파이썬 matplotlib.pyplot.axvspan 함수 활용하기 (0) | 2024.11.01 |
파이썬 matplotlib.pyplot.axhspan 함수 활용하기 (0) | 2024.11.01 |
파이썬 matplotlib.pyplot.axvline 함수 활용하기 (0) | 2024.11.01 |