Как пометить только один аспект в ggplot - PullRequest
1 голос
/ 26 января 2020

Я пытаюсь пометить только один аспект на моем графике ...

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)

example

, когда я пробую предлагаемое исправление в другом сообщении Аннотирующий текст на отдельном фасете в ggplot2 , он не работает ....

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

example 2

любые предложения?

1 Ответ

0 голосов
/ 26 января 2020

Самый надежный способ, который работал для меня в прошлом, - это создание нового фрейма данных с переменной фасета, содержащей только одно значение, как показано ниже.

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)

Будет сгенерировано:

enter image description here

...