我使用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的所有顶点。
答案 0 :(得分:1)
你必须解释你的意思"过滤" (过滤掉?)。在任何情况下,您都可以获得voronoi形状的顶点和几种类型的脊:
verts = v.vertices
,这将给出一个包含两列(顶点的x和y坐标)的数组。您可以像使用numpy数组(如verts [:,0]> -0.5)一样屏蔽它们,并将它们用于任何您想要的任何内容。
我不完全确定这是否能解答您的问题,但您可以找到一个非常好的教程here,包括绘图。