Создание сетки ggplots с таблицей grob значений ниже - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь создать график ошибок в ggplot с таблицей значений. Кроме того, я пытаюсь поместить это в сетку. Они предназначены для значений линейной регрессии и доверительных интервалов.

У меня есть следующее:

point<- c(1:10)
ciupper <- seq(2,20,2)
cilower <- seq(.1,1,10)
year <- c("2005/06", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015")
label <-c(quote("Ref"),bquote("val 1"),bquote("val 2"),bquote("val 3"),bquote("val 4"),bquote("val 5"), 
bquote("val 6"), bquote("val 7"), bquote("val 8"), bquote("val 9"))
data9 <- data.frame(point, cilower, ciupper, year)
tabl9 <- data.frame(year, label)

quant9 <- ggplot(data=data9, aes(x=year, y=point))
+ geom_point(size=3)
+ geom_errorbar(ymax=ciupper, ymin=cilower, width=0.1) 
+ geom_hline(yintercept = 0, linetype = "dashed") 
+ ylim(-5, 30) + labs(x="", y="", title="Title") + theme_pubr() + labs_pubr()
quant9

attend <- ggarrange(quant9, quant9, quant9, labels="AUTO")
annotate_figure(attend, top=text_grob("Title", size=20), 
left=text_grob("X Axis", size=20, rot=90), bottom=text_grob("Year", size=20))

, что дает мне это: Grid of GGplots

Я хочу добавить таблицу фактических значений под каждым графиком. Я использую tableGrob:

tt <- ttheme_default(padding =unit(c(6,4), "mm"))
tb9 <- tableGrob(t(tabl9), theme=tt, rows=NULL)

test <- grid.arrange(quant9,tb9,nrow = 2,ncol=1)

Путем возни с настройками widths я смог наконец достичь точного соответствия гроба с одним из графиков, но как только я попытался поместить это в сетку, все было искажено.

Может ли кто-нибудь помочь мне понять, как элегантно расположить значения аккуратно под графиком, а затем сделать это для каждого графика и поместить его в сетку для отображения?

1 Ответ

0 голосов
/ 10 мая 2018

Для построения сеток участков необходимо указать перед ними

par(mfrow=(nrows, ncols)

тогда каждый сгенерированный вами график будет добавляться по строке в nrow * ncols grid.

Чтобы вернуть графическим параметрам значения по умолчанию, введите в конце графика

par(mfrow=(1,1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...