np.meshgrid函数
meshgrid函数通常使用在数据的矢量化上。它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。
在计算机图形学中,二维矩阵常常用于表示和变换图像。在机器学习中,二维矩阵也经常被用来存储和处理数据。
meshgrid的作用是:根据传入的两个一维数组参数生成两个数组元素的列表。如果第一个参数是xarray,维度是xdimesion,第二个参数是yarray,维度是ydimesion。那么生成的第一个二维数组是以xarray为行(以xarray的内容为每一行的内容),共ydimesion行的向量;而第二个二维数组是以yarray的转置为列(将yarray转置,转置后的每一个元素为每一行的内容,同一行的每个列填充的都是同一个元素),共xdimesion列的向量。
经常用来生产网格点:示例,生成一个20行30列的网格点矩阵。
import numpy as np
#import matplotlib as mpl
import matplotlib.pyplot as plt
x = np.linspace(0,500,30)
print("x的维度:{},shape:{}".format(x.ndim, x.shape))
print(x)
y = np.linspace(0,500,20)
print("y的维度:{},shape:{}".format(y.ndim, y.shape))
print(y)
xv,yv = np.meshgrid(x, y)
print("xv的维度:{},shape:{}".format(xv.ndim, xv.shape))
print("yv的维度:{},shape:{}".format(yv.ndim, yv.shape))
plt.plot(xv, yv, '.')
plt.grid(True)
plt.show()
代码运行结果:
???最后打印出来的这个图,是不是立体图,还是平面图。我是没有想明白xv和yv是怎么对应上去的。
还有更多内容,np.mgrid函数、np.meshgrid函数与np.mgrid函数的区别。可查看链接: