matplotlib.nxutils.points_inside_poly
matplotlib では、事前に定義された頂点がある限り、 を使用してポリゴン内のピクセルを取得できます。
楕円などのパッチ内のポイントを取得するにはどうすればよいですか?
問題: matplotlib 楕円を定義すると、.get_verts()
メソッドがありますが、これは頂点を (データではなく) 単位で返します。
次のことができます。
# there has to be a better way to do this,
# but this gets xy into the form used by points_inside_poly
xy = np.array([(x,y) for x,y in zip(pts[0].ravel(),pts[1].ravel())])
inds = np.array([E.contains_point((x,y)) for x,y in xy], dtype='bool')
ただし、C ではなく Python でループしているため、これは非常に低速です。