在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)
答案 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_的文档。