使用下面的表格grob创建一个ggplots网格

时间:2018-05-09 20:34:59

标签: r ggplot2 visualization gtable

我正在尝试使用值表在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设置,我终于能够实现grob与其中一个图的紧密匹配,但是一旦我尝试将其放入网格中,一切都被扭曲了。

有人可以帮我弄清楚如何优雅地将值整齐地放在图表下方,然后对每个图表执行此操作并将其放入网格中进行显示吗?

0 个答案:

没有答案