繁体   English   中英

ggplot2 图中用线连接点

[英]Connecting points in ggplot2 graph with lines

正如问题中所说,我想连接 ggplot2 图中的点。 这些点应该按照它们绘制到图形的顺序一个接一个地连接起来,如下所示:

在此处输入图像描述 抱歉画的不好。


basepop <- matrix(c(10,30),nrow = 2)
matrixA <- matrix(c(0.4,-0.325,0.3,1.2),nrow = 2)
matrixA
z <- eigen(matrixA)
z$val
eigenmatrix <- z$vec
eigenmatrix
eigeninverse <- solve(eigenmatrix)
constmatrix <- eigeninverse %*% basepop
constmatrix



popdata = NULL

for(k in 1:100){
  predator <- c(constmatrix[1,1]*z$val[1]^k*z$vec[1,1] + constmatrix[2,1]*z$val[2]^k*z$vec[1,2])
  prey <- c(constmatrix[1,1]*z$val[1]^k*z$vec[2,1] + constmatrix[2,1]*z$val[2]^k*z$vec[2,2])
  
  popdata = rbind(popdata, data.frame(k,predator,prey))
}
library(ggplot2)
ggplot(popdata, aes(predator, prey, color = k)) +
  geom_point()

ggplot(popdata, aes(k, predator, color = k)) +
  geom_point() 

ggplot(popdata, aes(k, prey, color = k)) +
  geom_point()
print(popdata)

这是我计算猎物和捕食者系统流行度的代码。

来自@Duck 的评论:只需将+ geom_line()+ geom_path()添加到 plot。 (“使用哪个”取决于您的使用: geom_line按 x 轴上的顺序连接, geom_path按它们在数据中出现的顺序连接,两者都有有效用途。在这种情况下,它们看起来是相同的,但请保持如果您的真实数据发生变化,请记住这一点。)

ggplot(popdata, aes(predator, prey, color = k)) +
  geom_point() +
  geom_line()

带有连接线的ggplot2

(其他地块也是如此。)

我应该注意到顺序很重要。

# left
ggplot(popdata, aes(predator, prey, color = k)) +
  geom_point() +
  geom_line(color="black")
# right
ggplot(popdata, aes(predator, prey, color = k)) +
  geom_line(color="black") +
  geom_point()

ggplot2,并排,点对线和反向

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM