Matplotlib:Python三維繪圖


1、創建三維坐標軸對象Axes3D

創建Axes3D主要有兩種方式,一種是利用關鍵字projection='3d'來實現,另一種是通過從mpl_toolkits.mplot3d導入對象Axes3D來實現,目的都是生成具有三維格式的對象Axes3D

#figure:新的畫布
fig=plt.figure()
#axes:坐標軸
ax1=plt.axes(projection='3d')
#ax=fig.add_subplot(111,projection='3d')#畫子圖
plt.show()

#方法二,利用三維軸
fig=plt.figure()
ax2=Axes3D(fig)

 

 2、三維曲線和散點

#三維曲線和散點
z=np.linspace(0,13,1000)
x=5*np.sin(z)
y=5*np.cos(z)
zd=13*np.random.random(100)
xd=5*np.sin(zd)
yd=5*np.cos(zd)
ax1.scatter3D(xd,yd,zd,cmap='Blues')#繪制散點圖
ax1.plot3D(x,y,z,'gray') #繪制空間曲線
plt.show()

 

 3、三維曲面

import matplotlib.pyplot as plt
import numpy as np

fig=plt.figure()
ax3=plt.axes(projection='3d')

#定義三維數據
XX=np.arange(-5,5,0.5)
YY=np.arange(-5,5,0.5)
X,Y=np.meshgrid(XX,YY)
Z=np.sin(X)+np.cos(Y)

#作圖
ax3.plot_surface(X,Y,Z,cmap='rainbow')
ax3.contour(X,Y,Z,zdim='z',offset=-2,cmap='rainbow') #等高線圖,要設置offset,為Z的最小值
plt.show()

 

 可以通過在plot_surface中設置參數rstride、cstride設置步長,來得到更加清晰細膩的圖像。這兩個參數分別表示在橫豎方向上的采樣步長,越小繪圖越精細。

ax3.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap='rainbow')

 


免責聲明!

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



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