用三維的視角理解二維世界:完美解釋meshgrid函數,三維曲面,等高線,看完你就懂了。


完美解釋meshgrid函數,三維曲面,等高線

 1         #用三維的視角理解二維世界
 2         #完美解釋meshgrid函數,三維曲面,等高線
 3         import numpy as np
 4         import matplotlib.pyplot as plt
 5         from mpl_toolkits.mplot3d import Axes3D
 6         plt.rcParams['font.sans-serif']=['FangSong']# 用來正常顯示中文標簽
 7         plt.rcParams['axes.unicode_minus']=False# 用來正常顯示負號
 8                 
 9         #meshgrid就是生成x1,y1所能代表的所有點的坐標矩陣
10         n=32
11         x1=np.linspace(-3,3,n)
12         y1=np.linspace(-3,3,n)
13         x, y = np.meshgrid(x1, y1)
14         
15         #z = x - x
16         #z[0][0]=-1#變異值
17         #z[8][8]=1#變異值
18         #z = y - y 與z = x - x相同
19         z= np.power(x,2) + np.power(y,2)
20         
21         fig=plt.figure()
22         ax = fig.add_subplot(111, projection='3d')
23         ax.set_title('三維的視角理解二維世界')
24         
25         #三維曲面
26         ax.plot_surface(x,y,z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))
27         
28         #等高線,其實就是投影,zdir代表了視角,offset表示離視角軸0點的距離
29         #z方向的等高線
30         ax.contourf(x,y,z,zdir='z',offset=-5,cmap=plt.get_cmap('rainbow'))
31         #x方向的等高線
32         ax.contourf(x,y,z,zdir='x',offset=-5,cmap=plt.get_cmap('rainbow'))
33         #ax.contour(x,y,z,10,zdir='x',colors='black',linewidth=0.5)
34         
35         ax.set_xlabel('X軸')
36         ax.set_ylabel('Y軸')
37         ax.set_zlabel('Z軸')
38         
39         plt.show()    

 


免責聲明!

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



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