向facet_wrapped图中添加单独的线条

6

我正在尝试使用facet_wrap将一堆数据集绘制成散点图,每个数据集都有一个单独的线条表示特定事件发生的时间。然而,我无法使线条在每个图中单独显示,而是它们在所有图中都显示。在融合之后,数据看起来像:

names(data) = c("Date","ID", "event_date", "variable", "value")

我希望每个图表都是value ~ Date的散点图,并且每个图表按ID分割,每个ID上出现的"event_date"会显示一个垂直线。我的最佳尝试是:

p <- qplot(Date, value, data=dat, colour=variable)
p <- p + geom_vline(xintercept=as.numeric(dat$event_date))
p + facet_wrap(~ID)

除了每个子图中显示所有垂直线外,一切都完美运作。 有什么建议吗?阅读文档还没有给我带来进展。

2
请更新您的问题并在R会话中输出dput(data)的结果,以便我们可以完全重现您的数据结构。还请注意,“data”是R中的保留字,因此最好选择其他名称。 - Chase
1个回答

4
ggplot(dat, aes(Date,value))+ geom_point() + geom_vline(data=dat,aes(xintercept=as.numeric(event_date))) + facet_wrap(~ID)

我可以使用facet_grid()来完成相同的操作。我非常确信它也适用于facet_wrap。

1
谢谢!记录一下,告诉geom_vline你的数据集是什么让它起作用了,所以geom_vline(data=dat, xintercept=event_date)可以工作,而geom_vline(xintercept=dat$event_date)则不行。 - Austin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接