Matplotlib으로 3D 그래프를 그릴 때 X, Y, Z축의 레이블과 이름의 방향·간격을 조정하면 가독성이 크게 향상됩니다. 이 글에서는 linespacing 옵션을 활용해 축 레이블을 다듬는 방법을 단계별로 살펴보겠습니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백을 조정합니다.
- facecolor='white' 옵션으로 새 figure를 생성하거나 기존 figure를 활성화합니다.
- 3D 투영(projection)이 적용된 현재 축(ax)을 가져옵니다.
- linespacing 값을 지정하여 X, Y, Z축 레이블을 설정합니다.
- plot() 메서드로 데이터 포인트를 그립니다.
- ax.dist 값으로 축과의 거리를 조절합니다.
- show() 메서드로 그래프를 화면에 표시합니다.
예제 코드
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
figure = plt.figure(facecolor='w')
ax = figure.gca(projection='3d')
xLabel = ax.set_xlabel('X-axis', linespacing=3.2)
yLabel = ax.set_ylabel('Y-axis', linespacing=3.1)
zLabel = ax.set_zlabel('Z-Axis', linespacing=3.4)
plot = ax.plot([1, 2, 3], [1, 2, 3])
ax.dist = 10
plt.show()실행 결과

참고 사항
linespacing 값이 클수록 레이블 내 줄 간격이 넓어집니다. 또한 최신 버전의 Matplotlib에서는 figure.gca(projection='3d')가 deprecated되었으므로, ax = figure.add_subplot(projection='3d') 방식을 사용하는 것이 좋습니다. ax.dist 역시 3.6 버전 이후 권장되지 않으므로, 필요하다면 ax.set_box_aspect나 ax.figure.subplots_adjust 등으로 대체할 수 있습니다.