我正在使用python scipy从一组二维点计算voronoi图,如下所示:
import numpy as np
from scipy.spatial import Voronoi
x = np.random.uniform(-1, 1, (1000, 2))
v = Voronoi(x)
我对 voronoi 对象的不同属性感到非常困惑。我现在基本上想做的是过滤掉所有在两个维度上都超过 -0.5 和 0.5 的顶点。
你必须解释一下"过滤器"(过滤掉?)是什么意思。在任何情况下,您都可以获得沃罗诺伊形状的顶点和几种类型的脊:
verts = v.vertices
,这将给出一个包含两列的数组(顶点的 x 和 y 坐标)。你可以像使用 numpy 数组(如 verts[:,0]> -0.5)一样屏蔽它们,并将它们用于您想要的任何用途。
我不完全确定这是否回答了你的问题,但你可以在这里找到一个很好的教程,包括绘图。