Индивидуальный макет и метки для нескольких участков (GGPLOT2) - PullRequest
0 голосов
/ 23 апреля 2020

Я создал список графиков, используя приведенный ниже код:

plots <- list()
for(i in 1:(k*k)){
  plots[[i]] <- ggplot(subset(mean_conf, Names == Names[i]), aes(x=nob)) + 
    geom_line (aes(y = Mean), color = "black") + 
    geom_line (aes(y = Left_Interval), color="black", linetype="twodash") +
    geom_line (aes(y = Right_Interval), color="black", linetype="twodash") + 
    theme(axis.title.x=element_blank(),axis.title.y=element_blank()) + expand_limits(y = 0)
}

с использованием функции grid.arrange (do.call(grid.arrange,plots)) отображает картинку ниже

enter image description here

Я хочу добавить текст в определенные c области на моем графике. Примерно так: enter image description here

Я проверил различные функции, но не смог найти решение своей проблемы. Буду признателен за любые советы, предложения и помощь.

1 Ответ

0 голосов
/ 24 апреля 2020

gridExtra и grid могут быть вашими друзьями для макета, который вам нужен.

Вот стартер на 10.

library(ggplot2)
library(gridExtra)
library(grid)


p <- ggplot(mtcars, aes(disp, wt)) + geom_line()

ver <- textGrob("Plots verion 1", gp = gpar(fontsize = 15))
A_top <- textGrob("A", gp = gpar(fontsize = 15))
A_left <- textGrob("A", gp = gpar(fontsize = 15), x = unit(45, "mm"), y = unit(15, "mm") )

B_top <- textGrob("B", gp = gpar(fontsize = 15))
B_left <- textGrob("B", gp = gpar(fontsize = 15), x = unit(45, "mm"), y = unit(15, "mm"))

grid.arrange(ver, A_top, B_top, A_left, p, p, B_left, p, p, 
                  top = textGrob("Title", gp=gpar(fontsize = 20), x = unit(125, "mm")),
                  bottom = textGrob("Subtitle", gp=gpar(fontsize = 10), x = unit(65, "mm")), 
                  ncol = 3, 
                  widths = unit(c(50, 75, 75), "mm"), 
                  heights = unit(c(10, 75, 75), "mm"))


Это дает вам:

enter image description here

Следующие ссылки можно использовать для уточнения макета

https://cran.r-project.org/web/packages/gridExtra/vignettes/arrangeGrob.html#title -и-аннотации

...