numpy:获取网格中的方块坐标

时间:2014-02-27 19:03:58

标签: python numpy mesh

在python中,使用numpy,我可以生成一个meshgrid

import numpy as np
import matplotlib.pyplot as plt

def main():
    x = np.linspace(0, 10, 4)
    y = np.linspace(0, 10, 4)

    x,y = np.meshgrid(x,y)
    print x,y

if __name__ == '__main__':
    main()

我得到了:

[[  0.           3.33333333   6.66666667  10.        ]
 [  0.           3.33333333   6.66666667  10.        ]
 [  0.           3.33333333   6.66666667  10.        ]
 [  0.           3.33333333   6.66666667  10.        ]]
[[  0.           0.           0.           0.        ]
 [  3.33333333   3.33333333   3.33333333   3.33333333]
 [  6.66666667   6.66666667   6.66666667   6.66666667]
 [ 10.          10.          10.          10.        ]]

如何使用顶点获取meshgrid的元素(正方形)?

示例:方形左上角有顶点

(0, 0)   (0,3.3)
(3.3,0)  (3.3, 3.3)

3 个答案:

答案 0 :(得分:2)

我相信那会是

np.dstack([x,y])[row:row+2, col:col+2, :]

其中row, col是该广场左上角的坐标。显然,不会在最后一行或列上工作。

答案 1 :(得分:1)

通过以下方式有点迟了np.hstack((x.reshape((x.size,1)),y.reshape((y.size,1))))

答案 2 :(得分:-1)

查看numpy.ix_的文档。