Voronoi图查询

Voronoi图查询,r,voronoi,R,Voronoi,我在R中创建了一个voronoi图 给点标签 使用代码: install.packages("deldir") library(deldir) x <- runif(20); y <- runif(20); window <- c(0,1,0,1) tess <- deldir(x, y, rw = window) plot.deldir(tess, wpoints="real", wlines="tess") label=c('a','b','c'.....

我在R中创建了一个voronoi图 给点标签

使用代码:

install.packages("deldir") 
library(deldir)  
x <- runif(20); y <- runif(20); window <- c(0,1,0,1) 
tess <- deldir(x, y, rw = window) 
plot.deldir(tess, wpoints="real", wlines="tess") 
label=c('a','b','c'.....'t')
library(plotrix)
thigmophobe.labels(x, y, labels=label)
install.packages(“deldir”)
图书馆(deldir)

x由于voronoi细分是最近点之间的边界线,因此您的问题简化为寻找最近的邻居

您可以通过使用
dist()
计算距离矩阵,然后提取具有最小距离的点来完成此操作

试试这个:

library(deldir)  

n <- 20
dat <- data.frame(
  x = runif(n),
  y =runif(n)
)

tess <- deldir(dat, rw = c(0,1,0,1)) 
plot.deldir(tess, wpoints="none", wlines="tess", col="blue") 
label=letters[1:n]
text(dat, labels=label)


for (i in 1:500){
  newdat <- data.frame(x=runif(1), y=runif(1))
  np <- which.min(unname(as.matrix(dist(rbind(newdat, dat), diag=FALSE))[-1, 1]))

  text(newdat, col="red", labels=label[np], cex=0.5)
}
库(deldir)

n您可以使用点位置测试:。

我们正在比较每个点的距离。因此,部门的目的在这里没有得到满足。那么还有其他代码可以使用扇区吗?@ChakradharGavireddy我不明白你的问题。我想我回答了提出的问题。如果您有不同的疑问,那么我建议您就StackOverflow提出一个新问题。