在ggplot的geom_rug中使用与在图表其余部分中使用的数据不同的数据

ohn*_*lus 3 r ggplot2

我在获取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)

生成以下图。 测试图2

我还有其他一些数据,我想在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)

我想我已经以某种方式搞砸了语法,但是我似乎无法弄清楚我在这里做错了什么。有什么建议么?

Z.L*_*Lin 6

您应该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)

在此处输入图片说明