Python Scipy:Qhull选项确保每个点在不同的Voronoi区域中隔离
我正在研究一个需要对平面进行Voronoi细分的问题。我认为在Voronoi细分中,每个点都将包含在Voronoi映射的唯一单元中,例如 在该图中,点是黑点,每个点都包含在一个彩色单元格中。但是,使用我的数据集上的scikit实现,我获得的区域/单元数小于输入点数:Python Scipy:Qhull选项确保每个点在不同的Voronoi区域中隔离,python,numpy,scipy,voronoi,qhull,Python,Numpy,Scipy,Voronoi,Qhull,我正在研究一个需要对平面进行Voronoi细分的问题。我认为在Voronoi细分中,每个点都将包含在Voronoi映射的唯一单元中,例如 在该图中,点是黑点,每个点都包含在一个彩色单元格中。但是,使用我的数据集上的scikit实现,我获得的区域/单元数小于输入点数: from scipy.spatial import Voronoi import numpy as np import json # data is here: https://gist.github.com/duhaime/6
from scipy.spatial import Voronoi
import numpy as np
import json
# data is here: https://gist.github.com/duhaime/69ce65c6849708b31ba855d49d2812e6
a = np.array(json.load(open('umap.json')))
v = Voronoi(a)
print(a.shape) # prints (172502, 2)
print(len(v.regions)) # prints 169526
引导我查找v.point\u区域
包含每个输入点的一个条目。v.point\u region
的第i个成员表示a中第i个值所属的v.regions
索引。例如,v.point\u region[17]
=34意味着a[17]
属于v.region[34]
。我没有意识到多个点可能属于同一个Voronoi区域
这就引出了我的问题:有没有Qhull选项可以指定,以确保每个点都在Voronoi贴图中的不同单元中隔离?也就是说,我希望每个细胞有一个唯一的区域。任何其他人能提供的关于这个问题的建议都将不胜感激 您的数据中存在重复项
np.unique(a,axis=0)。shape[0]
返回169525。有那么简单吗@Ondro?@Ondro如果你的评论是一个答案,我会接受的!你一定搞定了!