如何解决用线条连接ggplot2图中的点
正如问题中所说,我想连接 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]*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,color = k)) +
geom_point()
ggplot(popdata,color = k)) +
geom_point()
print(popdata)
这是我计算猎物和捕食者系统流行度的代码。
解决方法
来自@Duck 的评论:只需将 + geom_line()
或 + geom_path()
添加到情节中。 (“使用哪个”取决于您的用途:geom_line
按 x 轴上的顺序连接,geom_path
按它们在数据中出现的顺序连接,两者都有有效用途。在 中在这种情况下,它们看起来是一样的,但如果您的真实数据发生变化,请记住这一点。)
ggplot(popdata,aes(predator,prey,color = k)) +
geom_point() +
geom_line()
(对于其他地块也是如此。)
我应该注意顺序很重要。
# left
ggplot(popdata,color = k)) +
geom_point() +
geom_line(color="black")
# right
ggplot(popdata,color = k)) +
geom_line(color="black") +
geom_point()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。