r - 用线连接 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] + 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()
到情节。(“使用哪个”取决于您的使用:geom_line
按 x 轴上geom_path
的顺序连接,按它们在数据中出现的顺序连接,两者都有有效用途。在这种情况下,它们看起来是相同的,但请保留在请注意您的真实数据是否发生变化。)
ggplot(popdata, aes(predator, prey, color = k)) +
geom_point() +
geom_line()
(其他地块也是如此。)
我应该注意到顺序很重要。
# 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()
推荐阅读
- ios - 让用户使用 Firebase 登录(自定义 iOS 身份验证)
- mysql - 如何加入两张桌子以获得日间销售
- vba - ms-access vba-access Dlookup 错误 3464 无法让代码运行
- javascript - 如何测试主函数内部定义的私有函数?
- android - 如何将从 youtube-dl 下载的 youtube 视频的文件名保存在变量中
- javascript - jQuery Scroll Top 滚动过去所需的 Div
- c# - 为 NHibernate 添加对象映射不起作用
- javascript - React Native 0.61.0 中的 MainApplication.java
- c# - 在多个窗口之间切换
- html - 在父级之外展开一个子 div(具有 position: relative )并且没有负边距