Matplotlib에서 축이나 그리드가 보이지 않는 3D 플롯 위에 산점도(scatter plot)를 그리려면 scatter() 메서드를 사용하고, axis('off')를 호출하여 축을 숨기면 됩니다.
구현 단계
- 그림 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
- figure() 메서드를 사용해 새 그림을 생성하거나 기존 그림을 활성화합니다.
- 서브플롯 배치 방식으로 3D 축(axis)을 추가합니다.
- NumPy를 이용해 xs, ys, zs 데이터 포인트를 생성합니다.
- scatter() 메서드로 산점도를 그립니다.
- ax.axis('off') 메서드를 호출해 축과 눈금을 숨깁니다.
- show() 메서드로 그림을 화면에 표시합니다.
예제 코드
import numpy as np
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(projection="3d")
xs = np.random.rand(100)
ys = np.random.rand(100)
zs = np.random.rand(100)
ax.scatter(xs, ys, zs, c=xs, cmap="copper")
ax.axis('off')
plt.show()실행 결과
위 코드를 실행하면 축과 눈금이 모두 제거된 상태에서 3차원 공간에 무작위로 분포한 100개의 점이 'copper' 컬러맵으로 표시됩니다. x 좌표 값에 따라 점의 색상이 구리색 계열로 그라데이션되어 나타납니다.

추가 팁
배경까지 투명하게 만들고 싶다면 fig.patch.set_alpha(0)와 ax.patch.set_alpha(0)를 함께 사용할 수 있습니다. 또한 그리드만 숨기고 싶은 경우에는 ax.grid(False)를 호출하면 되며, 특정 축만 숨기고 싶다면 ax.set_axis_off() 대신 개별 축의 spine과 tick을 조절하는 방법도 활용 가능합니다.