Еще один способ выразить это, что, возможно, проще обобщить (и оставить ненужным форматирование):
ggplot(df, aes(x,y)) +
geom_point() +
facet_wrap(~ z) +
geom_vline(data = subset(df, z == "b"), aes(xintercept = 1))
Ключевыми вещами являются: аспект сначала, а затем украшение граней путем подмножества исходного кадра данных, и, если возможно, поместите детали в новый aes
. Другие примеры аналогичной идеи:
ggplot(df, aes(x,y)) +
geom_point() +
facet_wrap(~ z) +
geom_vline(data = subset(df, z == "b"), aes(xintercept = 1)) +
geom_smooth(data = subset(df, z == "c"), aes(x, y), method = lm, se = FALSE) +
geom_text(data = subset(df, z == "d"), aes(x = -2, y=0, label = "Foobar"))