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

Matplotlib에서 3D 축에 점 그리기 완벽 가이드

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.autolayoutTrue로 설정하면 레이블과 제목이 잘리지 않도록 자동으로 레이아웃이 조정됩니다.

scatter() 파라미터: 좌표 (2, 3, 4) 위치에 점을 찍으며, c='red'는 빨간색, marker='*'는 별 모양 마커, s=1000은 마커 크기를 의미합니다.

출력 결과

Matplotlib에서 3D 축에 점 그리기 완벽 가이드

위 코드를 실행하면 3차원 공간의 좌표 (2, 3, 4) 위치에 빨간색 별 모양 마커가 표시된 그래프가 나타납니다.

활용 팁

여러 개의 점을 한 번에 그리고 싶다면 x, y, z 좌표를 리스트나 NumPy 배열로 전달하면 됩니다. 또한 ax.set_xlabel(), ax.set_ylabel(), ax.set_zlabel() 메서드로 각 축의 이름을 지정하고, ax.set_title()로 그래프 제목을 추가하면 더욱 완성도 높은 시각화 결과물을 얻을 수 있습니다.