这只是一个黑客。
创建情节geom_point
:
p1 <- ggplot(majdf, aes(x = val)) +
geom_density() +
geom_vline(data = majtxt, aes(xintercept = geq)) +
geom_point(data = majtxt, aes(x = geq, y = 0.2, label = geq, color = species), angle = 90) +
facet_wrap(~ lvl)
与geom_text
:
p2 <- ggplot(majdf, aes(x = val)) +
geom_density() +
geom_vline(data = majtxt, aes(xintercept = geq)) +
geom_text(data = majtxt, aes(x = geq, y = 0.2, label = geq, color = species), angle = 90) +
facet_wrap(~ lvl)
变成一个 grob 并找到哪个元素是引导:
g1 <- ggplotGrob(p1)
g1
TableGrob (8 x 10) "layout": 13 grobs
z cells name grob
1 0 ( 1- 8, 1-10) background rect[plot.background.rect.2339]
2 1 ( 4- 4, 4- 4) panel-1 gTree[panel-1.gTree.2263]
3 2 ( 4- 4, 7- 7) panel-2 gTree[panel-2.gTree.2278]
4 3 ( 3- 3, 4- 4) strip_t-1 absoluteGrob[strip.absoluteGrob.2306]
5 4 ( 3- 3, 7- 7) strip_t-2 absoluteGrob[strip.absoluteGrob.2312]
6 5 ( 4- 4, 3- 3) axis_l-1 absoluteGrob[axis-l-1.absoluteGrob.2299]
7 6 ( 4- 4, 6- 6) axis_l-2 zeroGrob[axis-l-2.zeroGrob.2300]
8 7 ( 5- 5, 4- 4) axis_b-1 absoluteGrob[axis-b-1.absoluteGrob.2285]
9 8 ( 5- 5, 7- 7) axis_b-2 absoluteGrob[axis-b-2.absoluteGrob.2292]
10 9 ( 7- 7, 4- 7) xlab text[axis.title.x.text.2314]
11 10 ( 4- 4, 2- 2) ylab text[axis.title.y.text.2316]
12 11 ( 4- 4, 9- 9) guide-box gtable[guide-box]
13 12 ( 2- 2, 4- 7) title text[plot.title.text.2337]
复制指南:
g2 <- ggplotGrob(p2)
g2[[1]][[12]] <- g1[[1]][[12]]
plot(g2)