我在获取geom_rug将某些数据绘制到现有绘图中时遇到麻烦。这是一个示例图,在这里我将某天的访问量与某些度量的大小进行比较。
test <- data.frame(
visit = rep(c(0, 1.5, 3.5, 6.5, 12), 5),
mag = rnorm(n = 25)
)
ggplot(test, aes(x = visit, y = mag)) + geom_point()
Run Code Online (Sandbox Code Playgroud)
我还有其他一些数据,我想在x轴上添加额外的标记。
vac <- data.frame(
visit = c(2, 4, 6, 8)
)
Run Code Online (Sandbox Code Playgroud)
由于我不理解的原因,当我运行以下代码时,我什么都没有。
ggplot(test, aes(x = visit, y = mag)) + geom_point() +
geom_rug(data=vac, aes(x = visit))
Run Code Online (Sandbox Code Playgroud)
我想我已经以某种方式搞砸了语法,但是我似乎无法弄清楚我在这里做错了什么。有什么建议么?
您应该inherit.aes = FALSE在该geom_rug()行中指定,否则它将y = mag从主ggplot()调用继承。
ggplot(test, aes(x = visit, y = mag)) +
geom_point() +
geom_rug(data=vac, aes(x = visit), inherit.aes = F)
Run Code Online (Sandbox Code Playgroud)