Python 畫3D圖像


繪制一副3D圖像

draw3D(X,Y,Z, angle)

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

#X,Y,Z  are  np.array
#angle is a tuple, stands for the initial view angle of 3D figure

def draw3D(X,Y,Z, angle):
    fig = plt.figure(figsize=(15,7))
    ax = Axes3D(fig)
    ax.view_init(angle[0],angle[1])
    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.coolwarm,alpha=0.8)
    plt.show()


#e.g.
x=np.linspace(-10,10,100)
y=np.linspace(-10,10,100)
X,Y=np.meshgrid(x,y)
X_f=X.flatten()
Y_f=Y.flatten()
data=zip(X_f,Y_f)
z1=np.array([function(d) for d in data])
z1=z1.reshape(100,100)

draw3D(X,Y,z1,(75,80))

若要給各個軸命名,增加如下

  1. plt.title("This is main title")      #總標題  
  2. ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.coolwarm)#用取樣點(x,y,z)去構建曲面  
  3. ax.set_xlabel('x label', color='r')  
  4. ax.set_ylabel('y label', color='g')  
  5. ax.set_zlabel('z label', color='b')      #給三個坐標軸注明  
  6. plt.show()#顯示模塊中的所有繪圖對象

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM