Matplotlib에서 축(눈금·라벨·배경 창) 없이 3D 막대 그래프를 그리고 싶다면, bar3d() 메서드로 막대를 그린 뒤 axis('off')를 호출해 축을 숨기면 됩니다. 아래 단계를 따라 해 보세요.
구현 단계
- 그림 크기 설정: rcParams로 figure 크기를 지정하고, autolayout 옵션으로 서브플롯 주변과 사이의 여백을 자동 조정합니다.
- 그림 생성:
figure()메서드로 새 그림을 만들거나 기존 그림을 활성화합니다. - 3D 축 추가:
add_subplot()에 projection='3d' 옵션을 지정하여 현재 그림에 3D 좌표축을 추가합니다. - 위치 데이터 생성: numpy를 사용해 x3, y3, z3 데이터 포인트를 만듭니다.
- 크기 데이터 생성: numpy를 사용해 dx, dy, dz 데이터 포인트를 만듭니다.
- 3D 막대 그리기:
bar3d()메서드로 3D 막대를 그립니다. - 축 숨기기:
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()
ax1 = fig.add_subplot(111, projection='3d')
x3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y3 = [5, 6, 7, 8, 2, 5, 6, 3, 7, 2]
z3 = np.zeros(10)
dx = np.ones(10)
dy = np.ones(10)
dz = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ax1.bar3d(y3, x3, z3, dx, dy, dz, color="red")
ax1.axis('off')
plt.show()
실행 결과

코드 설명
이 예제에서 x3와 y3는 각 막대 바닥면의 좌표를, z3는 막대가 시작되는 z축 높이(모두 0)를 나타냅니다. dx와 dy는 각 막대의 너비와 깊이를, dz는 막대의 높이를 결정합니다. 마지막에 axis('off')를 호출하면 배경 창, 눈금, 축 라벨이 모두 사라져 깔끔한 3D 막대 그래프만 남게 되므로, 시각화 자료나 인포그래픽 제작에 유용하게 활용할 수 있습니다.