在ggplot的geom_rug中使用不同的数据,而不是在其余的情节中使用

时间:2017-09-11 16:07:53

标签: r ggplot2

我无法让geom_rug将一些数据绘制到现有的情节中。这是一个示例图,我将一些访问日与某些测量的大小进行比较。

==

生成以下图表。 testplot2

我还有一些其他数据,我想在x轴上添加额外的标记。

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()

由于我不明白的原因,当我运行以下代码时,我根本没有得到任何情节。

vac <- data.frame(
    visit = c(2, 4, 6, 8)
    )

我认为我在某种程度上搞砸了语法,但我似乎无法弄清楚我在这里做错了什么。有什么建议吗?

2 个答案:

答案 0 :(得分:5)

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

enter image description here

答案 1 :(得分:2)

我会尝试这两个:

ggplot(test, aes(x = visit, y = mag)) + geom_point() + 
  geom_rug(data=vac, aes(x = visit,y = NULL))

或者更好的选择:

ggplot() + 
  geom_point(data = test,aes(x = visit,y = mag)) + 
  geom_rug(data=vac, aes(x = visit))