R 为整个平面网格绘制一条垂直线?

R 为整个平面网格绘制一条垂直线?,r,graph,ggplot2,R,Graph,Ggplot2,我正在使用以下命令绘制数据集: plot = ggplot(transData, aes(x=Time, y=Value)) + scale_fill_brewer(palette="Set1") + facet_grid(Category ~ .) + geom_line(aes(group=Type,colour=Type, linetype=Type), size=1.5) + geom_vline(...) +

我正在使用以下命令绘制数据集:

plot =  ggplot(transData, aes(x=Time, y=Value)) + 
        scale_fill_brewer(palette="Set1") + 
        facet_grid(Category ~ .) + 
        geom_line(aes(group=Type,colour=Type, linetype=Type), size=1.5) +
        geom_vline(...) +
        geom_text(...)
它在我的数据集中的类别和类型之间绘制了一个网格图。但是,
geom_vline
geom_text
使垂直线和文本标签出现在每个子图上。有没有一种方法可以在整个情节中获得一个单独的vline和text元素?有什么建议吗

数据集 剧本 情节

我想要什么
我们需要的是标签在整个绘图中只出现一次。

下面是一个简单的示例:

dat.vline <- data.frame(Type = c("Category1", "Category2"), xp = c(1000, 4000))
dat.text <- data.frame(Type = c("Category1", "Category2"), x = c(1000, 4000), y = c(5, 10), label = c("hoge", "boke"))

ggplot(d, aes(Time, Total)) + 
  facet_grid(Type ~ .) + 
  geom_line(aes(group = Type, colour = Type, linetype = Type), size = 1.5) +
  geom_vline(aes(xintercept = xp), data = dat.vline) +
  geom_text(aes(x, y, label = label), data = dat.text)

dat.vline以下是一个快速示例:

dat.vline <- data.frame(Type = c("Category1", "Category2"), xp = c(1000, 4000))
dat.text <- data.frame(Type = c("Category1", "Category2"), x = c(1000, 4000), y = c(5, 10), label = c("hoge", "boke"))

ggplot(d, aes(Time, Total)) + 
  facet_grid(Type ~ .) + 
  geom_line(aes(group = Type, colour = Type, linetype = Type), size = 1.5) +
  geom_vline(aes(xintercept = xp), data = dat.vline) +
  geom_text(aes(x, y, label = label), data = dat.text)

dat.vline能否请您附上一个可复制的示例?我支持kohske关于更多细节的请求。也许您的意思是希望使用
geom\u vline
geom\u text
仅在单个子地块上放置元素?不过我只是在猜测…@kohske:对不起。我会得到一个样本,并在几分钟后发布。谢谢你帮我@乔兰:是的。这正是我想要的。然而,仅凭
geom_text
就足够了。如果
geom\u vline
到处都出现,这是可以的。在这种情况下,这是非常简单的。这些例子包括这方面的例子,以及之前无数的SO问题。如果您刚开始阅读有关“[ggplot2]刻面网格”的问题,我相信您会找到它。或者,我同样确信有人会为您发布答案,因为这个问题就像speedy
ggplot2
er的免费代表一样。就我个人而言,我将弃权,我相信我已经回答了这个问题至少几次了。那么,这可能离你想做的事情不远了。你能附上一个可复制的例子吗?我支持kohske关于更多细节的要求。也许您的意思是希望使用
geom\u vline
geom\u text
仅在单个子地块上放置元素?不过我只是在猜测…@kohske:对不起。我会得到一个样本,并在几分钟后发布。谢谢你帮我@乔兰:是的。这正是我想要的。然而,仅凭
geom_text
就足够了。如果
geom\u vline
到处都出现,这是可以的。在这种情况下,这是非常简单的。这些例子包括这方面的例子,以及之前无数的SO问题。如果您刚开始阅读有关“[ggplot2]刻面网格”的问题,我相信您会找到它。或者,我同样确信有人会为您发布答案,因为这个问题就像speedy
ggplot2
er的免费代表一样。就我个人而言,我会弃权,我相信我已经回答了这个问题至少几次了。那么,这可能离你想做的事情不远了。
dat.vline <- data.frame(Type = c("Category1", "Category2"), xp = c(1000, 4000))
dat.text <- data.frame(Type = c("Category1", "Category2"), x = c(1000, 4000), y = c(5, 10), label = c("hoge", "boke"))

ggplot(d, aes(Time, Total)) + 
  facet_grid(Type ~ .) + 
  geom_line(aes(group = Type, colour = Type, linetype = Type), size = 1.5) +
  geom_vline(aes(xintercept = xp), data = dat.vline) +
  geom_text(aes(x, y, label = label), data = dat.text)