파이썬에서 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 시각화를 구현할 수 있습니다. 데이터 분석이나 과학 컴퓨팅 분야에서 다차원 데이터를 효과적으로 표현할 때 유용하게 활용해 보시기 바랍니다.