用三维的视角理解二维世界:完美解释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()    

转载于:https://www.cnblogs.com/ace007/p/10721042.html

原文地址:https://www.cnblogs.com/twodog/p/12134907.html