Самый надежный способ, который работал для меня в прошлом, - это создание нового фрейма данных с переменной фасета, содержащей только одно значение, как показано ниже.
library(tidyverse)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p <- p + facet_grid(. ~ cyl)
p <- p + geom_text(data = data.frame(x = 15, y = 5, cyl = 4, label = "Test"),
aes(x = x, y = y, label = label), size = 4)
print(p)
Будет сгенерировано: