numpy:获取网格中的平方坐标
在Python中,使用numpy库,我可以生成一个网格。
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. ]]
我该如何获取网格中的元素(方块),以及它们的顶点呢?
举个例子:左上角的方块有这些顶点:
(0, 0) (0,3.3)
(3.3,0) (3.3, 3.3)
3 个回答
-1
可以查看一下关于 numpy.ix_ 的文档。
1
这句话的意思是,下面这个代码有点晚了,代码是np.hstack((x.reshape((x.size,1)),y.reshape((y.size,1))))
3
我认为应该是这样的:
np.dstack([x,y])[row:row+2, col:col+2, :]
这里的 row, col
是那个方块左上角的坐标。显然,这个方法在最后一行或最后一列是行不通的。