1.导入需要的包
import numpy as npfrom matplotlib import pyplot as pltfrom mpl_toolkits.mplot3d.axes3d import Axes3D
2.生成随机数据
x=np.arange(0,7,0.01)y=np.arange(-3.5,3.5,0.01)
3.定义方法生成3D图形的Z轴
def mk_z(X,Y): return 3+0.5*np.sin(X)*np.cos(Y)-np.cos(2-X)Z=mk_z(X,Y)
4.查看一下X,Y,Z的数据
array([[0. , 0.01, 0.02, ..., 6.97, 6.98, 6.99], [0. , 0.01, 0.02, ..., 6.97, 6.98, 6.99], [0. , 0.01, 0.02, ..., 6.97, 6.98, 6.99], ..., [0. , 0.01, 0.02, ..., 6.97, 6.98, 6.99], [0. , 0.01, 0.02, ..., 6.97, 6.98, 6.99], [0. , 0.01, 0.02, ..., 6.97, 6.98, 6.99]])array([[-3.5 , -3.5 , -3.5 , ..., -3.5 , -3.5 , -3.5 ], [-3.49, -3.49, -3.49, ..., -3.49, -3.49, -3.49], [-3.48, -3.48, -3.48, ..., -3.48, -3.48, -3.48], ..., [ 3.47, 3.47, 3.47, ..., 3.47, 3.47, 3.47], [ 3.48, 3.48, 3.48, ..., 3.48, 3.48, 3.48], [ 3.49, 3.49, 3.49, ..., 3.49, 3.49, 3.49]])array([[3.41614684, 3.402351 , 3.38851493, ..., 2.4483359 , 2.43507302, 2.42186664], [3.41614684, 3.4023337 , 3.38848032, ..., 2.44723865, 2.43396244, 2.42074284], [3.41614684, 3.40231686, 3.38844666, ..., 2.44617119, 2.43288202, 2.41964957], ..., [3.41614684, 3.4023005 , 3.38841393, ..., 2.44513364, 2.43183187, 2.41858692], [3.41614684, 3.40231686, 3.38844666, ..., 2.44617119, 2.43288202, 2.41964957], [3.41614684, 3.4023337 , 3.38848032, ..., 2.44723865, 2.43396244, 2.42074284]])
4.定义图像大小
plt.figure(figsize=[12,9])
5.绘制第一张图片
axes=plt.subplot(121,projection='3d')axes.plot_surface(X,Y,Z,rstride=100,cstride=100)
6.绘制第二张图片
axes2=plt.subplot(122,projection='3d')s=axes2.plot_surface(X,Y,Z,rstride=100,cstride=100,cmap='rainbow')plt.colorbar(s,shrink=0.5)
新手一枚,仅供娱乐。