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

Matplotlib에서 축 없이 3D 막대 그래프 그리기

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()

실행 결과

Matplotlib에서 축 없이 3D 막대 그래프 그리기

코드 설명

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