相关疑难解决方法(0)

如何确定哪些点位于多边形内部哪些不是(大量点)?

我有一大堆数据点(100,000+)存储在一个二维numpy数组中(第一列:x坐标,第二列:y坐标).我还有几个1维数组存储每个数据点的附加信息.我现在想要从这些一维数组的子集创建图,其中只包含给定多边形中的点.

我提出了以下解决方案,既不优雅也不快:

#XY is the 2D array.
#A is one of the 1D arrays.
#poly is a matplotlib.patches.Polygon

mask = np.array([bool(poly.get_path().contains_point(i)) for i in XY])

matplotlib.pylab.hist(A[mask], 100)
matplotlib.pylab.show()
Run Code Online (Sandbox Code Playgroud)

你能帮我改进一下这段代码吗?我尝试使用np.vectorize而不是列表理解,但无法让它工作.

python numpy matplotlib

21
推荐指数
2
解决办法
2万
查看次数

标签 统计

matplotlib ×1

numpy ×1

python ×1