在ggplot2的各个方面注释文本

我想用以下代码在剧情的最后一个方面注释一些文字:

library(ggplot2) p <- ggplot(mtcars, aes(mpg, wt)) + geom_point() p <- p + facet_grid(. ~ cyl) p <- p + annotate("text", label = "Test", size = 4, x = 15, y = 5) print(p) 

在这里输入图像描述

但是这个代码注释了每个方面的文本。 如果您指导我如何仅在一个方面获得注释文本,我将非常感激。 提前致谢。

通常你会做这样的事情:

 ann_text <- data.frame(mpg = 15,wt = 5,lab = "Text", cyl = factor(8,levels = c("4","6","8"))) p + geom_text(data = ann_text,label = "Text") 

它应该没有完全指定因子variables,但可能会引发一些警告:

在这里输入图像描述

我认为对于上面的答案=“文本”是无用的,下面的代码也是可以的。

 ann_text <- data.frame(mpg = 15,wt = 5, cyl = factor(8,levels = c("4","6","8"))) p + geom_text(data = ann_text,label = "Text" ) 

但是,如果您想要在不同的子图中以不同的标签进行标记,则可以这样做:

 ann_text <- data.frame(mpg = c(14,15),wt = c(4,5),lab=c("text1","text2"), cyl = factor(c(6,8),levels = c("4","6","8"))) p + geom_text(data = ann_text,aes(label =lab) )