어떻게 Python 으로 3D 기둥 그림 을 그립 니까?

본 고 는 주로 python 을 사용 하여 3 차원 기둥 그림 을 그 리 는 방법 을 설명 하 는데 다음 과 같다.

원본 코드 는 다음 과 같 습 니 다:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#        
X=np.arange(0, 5, step=1)#X    
Y=np.arange(0, 9, step=1)#Y    
#     (X,Y)      Z   ,   Z(X,Y)=X+Y
Z=np.zeros(shape=(5, 9))
for i in range(5):
  for j in range(9):
    Z[i, j]=i+j

xx, yy=np.meshgrid(X, Y)#     
X, Y=xx.ravel(), yy.ravel()#     
bottom=np.zeros_like(X)#          
Z=Z.ravel()#     

width=height=1#         

#    
fig=plt.figure()
ax=fig.gca(projection='3d')#     
ax.bar3d(X, Y, bottom, width, height, Z, shade=True)#
#     
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z(value)')
plt.show()
코드 판독:
1.구조 가 표시 해 야 할 데이터
아래 그림 에서 보 듯 이 X 좌표 의 수 치 는[0,1,2,3,4]이 고 Y 좌표 의 수 치 는[0,1,2,3,4,5,6,7,8]이 며 각(X,Y)조합의 값 Z=X+Y 이 며 그 려 야 할 그림 은 X,Y 가 대응 하 는 좌표 위치 위 에 Z 의 값 에 따라 기둥 그림 을 그 리 는 것 이다.

2.좌표 설정
좌 표를 격자 화,X=[0,1,2,3,4],Y=[0,1,2,3,4,5,6,7,8]격자 화 한 결 과 는 다음 그림 과 같다.X 는 Y 를 참조 해 라디오(broadcast)를,Y 는 X 를 참조 해 각각 새로운 차원 을 추가 하고 복사 한 것 으로 풀이 된다.xx 와 yy 를 결합 하면 모든 X,Y 의 좌표 조합 을 얻 을 수 있 고 평면 화 된 후에 이런 대응 관 계 는 변 하지 않 는 다.코드 의 bottom 은 모든 기둥 을 그 리 는 Z 좌 표를 설정 하 는 데 사 용 됩 니 다.이 좌 표 는 모두 0 으로 설정 되 어 있 으 며,width 와 height 는 모든 기둥 의 길이 와 폭 을 설정 합 니 다.

3、bar3d
ax.bar3d(X, Y, bottom, width, height, Z, shade=True):
X,Y:기둥 이 XY 평면 에서 의 시작 좌표
bottom:기둥 이 Z 축 에 있 는 시작 좌표
width,height:기둥 의 길이 와 너비
Z:Z 축의 길 이 를 따라 숫자
shade:그림자 표시 할 지 여부(True 입체 효과 로 설정 하 는 것 이 좋 습 니 다)
shde=True

shade=False

만약 에 여러 개의 키 그림 을 그 려 야 하고 그 안에 있 는 모든 키 그림 이 3D 이 므 로 상기 코드 를 약간 수정 하면 됩 니 다.사례 는 다음 과 같 습 니 다.

fig=plt.figure()
  ax=fig.add_subplot(1, 3, 1, projection='3d')
  ax.bar3d(x, y, z, width, height, top, shade=True)

  ax=fig.add_subplot(1, 3, 2, projection='3d')
  ax.bar3d(x, y, z, width, height, top2, shade=True)

  ax=fig.add_subplot(1, 3, 3, projection='3d')
  ax.bar3d(x, y, z, width, height, top3, shade=True)

  plt.show()
이상 은 Python 으로 3D 기둥 그림 을 그 리 는 방법 에 대한 상세 한 내용 입 니 다.python 으로 기둥 그림 을 그 리 는 것 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기