1.功能
meshgrid(x,y)用于生成绘制3D图形所需的网格数据。在计算机中进行绘图操作时,往往需要一些采样点,然后根据这些采样点绘制出整个图形。在绘制3D图形时需要有x,y,z三组数据,x,y这两组数据可以看作是在XOY平面内对坐标进行采样而得到的坐标对(x,y)。
2.meshgrid(x,y)是怎样处理数据的:
看下面这个例子:
from numpy import *
x=arange(1,4)
y=arange(6,8)
print('x:',x)
print('y:',y)
X,Y=meshgrid(x,y)
print('X:\n',X)
print('Y:\n',Y)
#运行结果
x: [1 2 3]
y: [6 7]
X:
[[1 2 3]
[1 2 3]]
Y:
[[6 6 6]
[7 7 7]]
- 在上面这个例子中,len(x)=3,len(y)=2,meshgrid(x,y)函数将x作为一个行向量复制了len(y)行变成了一个2行3列的矩阵赋值给矩阵X;将y作为一个列向量复制了len(x)列变成了一个2行3列的矩阵赋值给矩阵Y。经meshgrid后的X,Y为同型矩阵。
- X,Y这两个矩阵中分别存放着xoy平面中采样点的X坐标和Y坐标。
3.meshgrid(x,y)函数有什么用处:
- 假如我们需要在一个区域内 (1<=x<=3,6<=y<=7,z不限制区间) 绘制一个3D图形,若需要整数坐标为采样点的话,我们就会需要下面这样一些坐标构成的坐标矩阵:
(1,6),(2,6),(3,6)
(1,7),(2,7),(3,7)
- 我们可以这样描述这个坐标矩阵。
把各个点的x坐标独立出来就是X中的数据:
1,2,3
1,2,3
再把各个点的y坐标独立出来就是Y中的数据:
6,6,6
7,7,7
- 这样对应的x和y结合,便表示出了上面的坐标矩阵。而meshgrid(x,y)就是通过产生X,Y这样两个矩阵来简化我们的操作,然后再根据用户自己定义的式子来计算z,绘制出一个3D图形。