python 绘制3D曲面(meshgrid()函数以及Axes3D [plot_surface]函数)

3D曲面

  • mplot3d工具集用来实现3D数据可视化功能
  • mplot仍然使用figure对象

meshgrid()函数

初始散点数据处理成xy网格数据

x=np.arange(-2,2,0.1)
y=np.arange(-2,2,0.1)
#生成网格点坐标矩阵。
x,y=np.meshgrid(x,y)
print(x)
print(y)

x的结果
python 绘制3D曲面(meshgrid()函数以及Axes3D [plot_surface]函数)_第1张图片
y的值
python 绘制3D曲面(meshgrid()函数以及Axes3D [plot_surface]函数)_第2张图片

plot_surface(x,y,f(x,y))

  • x、y数据决定坐标点,f(x,y)数据决定 X、Y 坐标点对应的高度
  • rstride(row)指定行的跨度
  • cstride(column)指定列的跨度
  • cmap 设置颜色

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig=plt.figure()
ax=Axes3D(fig)
x=np.arange(-2,2,0.1)
print(x)
y=np.arange(-2,2,0.1)
#生成网格点坐标矩阵。
x,y=np.meshgrid(x,y)
print(x)
print(y)

def f(x,y):
    return (1-y**5+x**5)*np.exp(-x**2-y**2)
#绘制3D曲面
ax.plot_surface(x,y,f(x,y))
# rstride(row)指定行的跨度  # cstride(column)指定列的跨度
ax.view_init(elev=300,azim=300)

python 绘制3D曲面(meshgrid()函数以及Axes3D [plot_surface]函数)_第3张图片
还可以通过view_init(elev=300,azim=300)旋转曲面

  • 第一个参数指定从哪个高度看曲面
  • 第二个参数指定曲面的旋转角度
    旋转后的图形
    python 绘制3D曲面(meshgrid()函数以及Axes3D [plot_surface]函数)_第4张图片

你可能感兴趣的:(Python)