numpy中的meshgrid
经常遇到meshgrid,一段时间不用就忘记了,记录之
meshgrid用于生成网格点的坐标矩阵(参考https://blog.csdn.net/lllxxq141592654/article/details/81532855)
例如:
x = np.array([0, 1])
y = np.array([0, 1, 2])
grid = np.meshgrid(x,y)
grid =
[array([[0, 1],
[0, 1],
[0, 1]]), array([[0, 0],
[1, 1],
[2, 2]])]
这表示生成了6个坐标点,array([[0, 1], [0, 1],[0, 1]])为6个坐标点的x坐标, array([[0, 0],[1, 1], [2, 2]])]表示y坐标,
6个坐标点为(0,0),(1,0),(0,1),(1,1),(0,2),(1,2)。
可以使用stack来得到6个点坐标。
meshgrid还可以携带第三个参数(默认indexing='xy')
grid = np.meshgrid(x,y,indexing='ij')
grid =
[array([[0, 0, 0],
[1, 1, 1]]), array([[0, 1, 2],
[0, 1, 2]])]
含义相同,只是坐标点的顺序不同,(0,0),(0,1),(0,2),(1,0),(1,1),(1,2)
一个按行,一个按列。