1#用三维的视角理解二维世界 2#完美解释meshgrid函数,三维曲面,等高线 3import numpy as np 4import matplotlib.pyplot as plt 5from mpl_toolkits.mplot3dimport 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) 1415#z = x - x16#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) 2021 fig=plt.figure() 22 ax = fig.add_subplot(111, projection='3d') 23 ax.set_title('三维的视角理解二维世界') 2425#三维曲面26 ax.plot_surface(x,y,z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow')) 2728#等高线,其实就是投影,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)3435 ax.set_xlabel('X轴') 36 ax.set_ylabel('Y轴') 37 ax.set_zlabel('Z轴') 3839 plt.show()