Matplotlib 3D 산점도 기본 개념
Matplotlib는 기본적으로 2차원 시각화 라이브러리이지만, mplot3d 도구킷을 활용하면 3차원 공간에도 손쉽게 데이터를 시각화할 수 있습니다. 이번 글에서는 Matplotlib의 3D 축 위에 하나의 점을 그리는 방법을 단계별로 알아보겠습니다.
구현 단계
그림 크기 설정: figure 크기를 지정하고, 서브플롯 사이 및 주변 여백(padding)을 조정합니다.
피겨 생성:
figure()메서드를 사용해 새 피겨를 만들거나 기존 피겨를 활성화합니다.3D 축 추가:
add_subplot()메서드에projection='3d'옵션을 지정하여 3차원 투영(projection)이 적용된 축을 추가합니다.점 그리기:
scatter()메서드를 사용해 3D 좌표(x, y, z)에 점을 표시합니다.결과 출력:
show()메서드로 완성된 그래프를 화면에 표시합니다.
전체 예제 코드
from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.scatter(2, 3, 4, c='red', marker='*', s=1000) plt.show()
코드 상세 설명
rcParams 설정: figure.figsize로 피겨 크기를 가로 7.5인치, 세로 3.5인치로 지정하고, figure.autolayout을 True로 설정하면 레이블과 제목이 잘리지 않도록 자동으로 레이아웃이 조정됩니다.
scatter() 파라미터: 좌표 (2, 3, 4) 위치에 점을 찍으며, c='red'는 빨간색, marker='*'는 별 모양 마커, s=1000은 마커 크기를 의미합니다.
출력 결과

위 코드를 실행하면 3차원 공간의 좌표 (2, 3, 4) 위치에 빨간색 별 모양 마커가 표시된 그래프가 나타납니다.
활용 팁
여러 개의 점을 한 번에 그리고 싶다면 x, y, z 좌표를 리스트나 NumPy 배열로 전달하면 됩니다. 또한 ax.set_xlabel(), ax.set_ylabel(), ax.set_zlabel() 메서드로 각 축의 이름을 지정하고, ax.set_title()로 그래프 제목을 추가하면 더욱 완성도 높은 시각화 결과물을 얻을 수 있습니다.