R 在线图周围插入边框
我正在通过plot函数绘制几种不同鱼类的领地。如何在绘图周围插入边框以突出显示此区域?我目前使用的功能是:R 在线图周围插入边框,r,plot,border,polygon,R,Plot,Border,Polygon,我正在通过plot函数绘制几种不同鱼类的领地。如何在绘图周围插入边框以突出显示此区域?我目前使用的功能是: plot(c.tri1.1FG$x.position,c.tri1.1FG$y.position,ylim=c(80,120),xlim=c(110,180),xlab="X position", ylab="Y position", main=expression(paste("Mapped territories of different ", italic("C. trifasc
plot(c.tri1.1FG$x.position,c.tri1.1FG$y.position,ylim=c(80,120),xlim=c(110,180),xlab="X position", ylab="Y position", main=expression(paste("Mapped territories of different ", italic("C. trifascialis"), " individuals at the Far Gardens coral reef site")))
points(c.tri1.2FG$x.position,c.tri1.2FG$y.position)
points(c.tri1.3FG$x.position,c.tri1.3FG$y.position)
points(c.tri1.4FG$x.position,c.tri1.4FG$y.position)
points(c.tri1.4FG$x.position,c.tri1.5FG$y.position)
任何帮助都将不胜感激多边形
能满足您的需要吗?例如,这里我用透明填充绘制了两个正方形(但只是一个示例):
vecAx <- c(0,0.5,0.5,0)
vecAy <- c(0,0,0.5,0.5)
vecBx <- vecAx + 0.25
vecBy <- vecAy + 0.25
col2hex <- function(my.col, alpha = 0.3) {
rgb(t(col2rgb(my.col)), maxColorValue = 255, alpha = alpha*255)
}
colA <- col2hex("red", alpha = 0.4)
colB <- col2hex("blue", alpha = 0.4)
## other in colors()
plot(NA, NA, xlim=c(0,1), ylim=c(0,1))
polygon(vecAx, vecAy, col = colA)
polygon(vecBx, vecBy, col = colB)
vecAx如果我理解正确,我认为您正在寻找凸面外壳chull
:
x <- rnorm(100,0,.2)
y <- runif(100,0,2)
pts <- cbind(x,y)
ch <- chull(pts) #Convex hull
plot(pts, asp=1)
编辑:如何使此解决方案适应您的数据
plot(c.tri1.1FG$x.position,c.tri1.1FG$y.position,ylim=c(80,120),xlim=c(110,180),xlab="X position", ylab="Y position", main=expression(paste("Mapped territories of different ", italic("C. trifascialis"), " individuals at the Far Gardens coral reef site")))
points(c.tri1.2FG$x.position,c.tri1.2FG$y.position)
points(c.tri1.3FG$x.position,c.tri1.3FG$y.position)
points(c.tri1.4FG$x.position,c.tri1.4FG$y.position)
points(c.tri1.5FG$x.position,c.tri1.5FG$y.position)
x <- c(c.tri1.1FG$x.position,c.tri1.2FG$x.position,c.tri1.3FG$x.position, c.tri1.4FG$x.position, c.tri1.5FG$x.position)
y <- c(c.tri1.1FG$y.position,c.tri1.2FG$y.position,c.tri1.3FG$y.position, c.tri1.4FG$y.position, c.tri1.5FG$y.position)
pts <- cbind(x, y)
ch <- chull(pts)
polygon(pts[ch,])
plot(c.tri1.1FG$x.position,c.tri1.1FG$y.position,ylim=c(80120),xlim=c(110180),xlab=“x position”,ylab=“y position”,main=expression(粘贴(“不同的映射区域”,斜体(“c.trifascialis”),“远园珊瑚礁遗址的个体”))
点数(c.tri1.2FG$x位置,c.tri1.2FG$y位置)
点数(c.tri1.3FG$x位置,c.tri1.3FG$y位置)
点数(c.tri1.4FG$x位置,c.tri1.4FG$y位置)
积分(c.tri1.5FG$x位置,c.tri1.5FG$y位置)
我想这可能会回答你的问题:好主意,但是多边形在这个数据上工作得不太好。领土的路径交叉,因此造成了一点混乱。我需要更多的外部边界,这是辉煌的。非常感谢。是否可以在使用points()的一系列数据上使用此函数,该点的外部部分为“外壳”?绘图(1.1FG$x,1.1$y,xlab=“x position”,ylab=“y position”,ylim=c(80130),xlim=c(70250))点(1.2FG$x,1.2$y)点(1.3FG$y,1.3$y)您可能希望显示数据的样子(例如,通过在问题的数据集上粘贴dput
的结果)如果你想得到一个更具针对性的答案,我已经更新了图表,突出显示了points()函数的添加。再次感谢您的帮助
plot(c.tri1.1FG$x.position,c.tri1.1FG$y.position,ylim=c(80,120),xlim=c(110,180),xlab="X position", ylab="Y position", main=expression(paste("Mapped territories of different ", italic("C. trifascialis"), " individuals at the Far Gardens coral reef site")))
points(c.tri1.2FG$x.position,c.tri1.2FG$y.position)
points(c.tri1.3FG$x.position,c.tri1.3FG$y.position)
points(c.tri1.4FG$x.position,c.tri1.4FG$y.position)
points(c.tri1.5FG$x.position,c.tri1.5FG$y.position)
x <- c(c.tri1.1FG$x.position,c.tri1.2FG$x.position,c.tri1.3FG$x.position, c.tri1.4FG$x.position, c.tri1.5FG$x.position)
y <- c(c.tri1.1FG$y.position,c.tri1.2FG$y.position,c.tri1.3FG$y.position, c.tri1.4FG$y.position, c.tri1.5FG$y.position)
pts <- cbind(x, y)
ch <- chull(pts)
polygon(pts[ch,])