Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Matplotlib로 3D 그래프 그리기: 단계별 완벽 가이드

파이썬에서 Matplotlib 라이브러리를 활용하면 누구나 손쉽게 입체적인 3D 그래프를 그릴 수 있습니다. 이 글에서는 3D 산점도(Scatter Plot)를 만드는 전체 과정을 단계별로 살펴보겠습니다.

3D 그래프 작성 절차

  • figure() 메서드를 사용해 새로운 figure 객체를 생성하거나 기존 figure를 활성화합니다.

  • mpl_toolkits.mplot3d 모듈의 Axes3D를 통해 3D 축(axes) 객체를 얻습니다.

  • x, y, z 좌표에 해당하는 데이터 포인트 리스트를 준비합니다.

  • scatter3D() 메서드를 호출하여 x, y, z 데이터를 기반으로 3D 산점도를 추가합니다. 이때 마커 크기(s=150)와 다이아몬드 형태(marker='d')를 지정하면 시각적으로 더 돋보이는 그래프를 만들 수 있습니다.

  • show() 메서드를 호출해 완성된 그래프를 화면에 출력합니다.

예제 코드

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = Axes3D(fig)
x = [2, 4, 6, 3, 1]
y = [1, 6, 8, 1, 3]
z = [3, 4, 10, 3, 1]
ax.scatter3D(x, y, z, c=z, alpha=1, marker='d', s=150)
plt.show()

실행 결과

위 코드를 실행하면 x, y, z 세 축으로 구성된 3차원 공간에 다이아몬드 모양의 마커가 표시된 산점도가 나타납니다. 특히 c=z 옵션을 적용하면 z값에 따라 마커 색상이 자동으로 변하기 때문에, 데이터의 높이 정보를 색으로 직관적으로 파악할 수 있습니다.

주요 옵션 정리

  • c: 데이터 값에 따른 마커 색상 매핑

  • alpha: 마커의 투명도 조절 (0~1)

  • marker: 마커 모양 지정 ('d'는 다이아몬드)

  • s: 마커 크기 설정

이처럼 Matplotlib의 mplot3d 도구킷을 활용하면 몇 줄의 코드만으로도 전문적인 3D 시각화를 구현할 수 있습니다. 데이터 분석이나 과학 컴퓨팅 분야에서 다차원 데이터를 효과적으로 표현할 때 유용하게 활용해 보시기 바랍니다.