我想通过python描点画三维曲面图,x与y可以取一个区间范围内的点,我利用ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') 进行画图的时候,请问Z应该如何生成才能实现描点画图呢? Z与x y的函数关系式找不到,所以才考虑描点画图的,各位大神路过的给指个思路,谢谢。
我想通过python描点画三维曲面图,x与y可以取一个区间范围内的点,我利用ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') 进行画图的时候,请问Z应该如何生成才能实现描点画图呢? Z与x y的函数关系式找不到,所以才考虑描点画图的,各位大神路过的给指个思路,谢谢。
运行一下这个代码试试
3D绘图示意
import mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
x = np.arange(-4, 4, 0.25)
y = np.arange(-4, 4, 0.25)
x, y = np.meshgrid(x, y)
r = np.sqrt(x2 + y2)
z = np.sin(r)
ax.plot_surface(x, y, z, rstride = 1, # row 行步长
cstride = 2, # colum 列步长
cmap=plt.cm.hot ) # 渐变颜色
ax.contourf(x, y, z,
zdir='z', # 使用数据方向
offset=-2, # 填充投影轮廓位置
cmap=plt.cm.hot)
ax.set_zlim(-2, 2)
plt.show()