无法从gridExtra禁用R markdown输出(附加注解)

qqrboqgw  于 2023-04-03  发布在  其他
关注(0)|答案(3)|浏览(113)

在我的R Markdown报告中,我使用了两个块。
第一:

```{r, include = FALSE, echo=FALSE, results='asis'}```

在那里我加载所有包并进行计算。
其次

{r, fig.margin = TRUE, fig.width=10,
fig.height=4.5, echo=FALSE, results='asis', 
message=FALSE, warning = FALSE}

其中我有for循环,在那里我过滤第一个块中产生的数据,并为每个i绘制ggplots。
我的问题是,当我在第二个块中产生2个图时,我将它们按网格排列组合在一个网格中,但有额外的评论我不想显示。
一个二个一个一个

带有gridExtra注解的result片段(TablGrob...)

uttx8gqw

uttx8gqw1#

不要使用print()grid.arrange()会自己绘制。如果要存储结果然后绘制,请使用arrangeGrob()+grid.draw()

qrjkbowd

qrjkbowd2#

这个解决方案对我来说很有效,但是在注意到R代码块应该直接返回grid.arrange(),而不需要预先存储结果之后。例如:
这仍然会显示gridExtra信息(TableGrob注解):

```{r pressure, echo=FALSE, results='asis', message=FALSE, warning = FALSE}
p1 <- qplot(1:10)
p2 <- qplot(1:10)
gs[[1]] <- p1
gs[[2]] <- p2          

wykres <- grid.arrange(grobs = gs, layout_matrix = lay)
return(wykres)

这不会显示gridExtra信息:
p1 <- qplot(1:10)
p2 <- qplot(1:10)
gs[[1]] <- p1
gs[[2]] <- p2          

return(grid.arrange(grobs = gs, layout_matrix = lay))
1u4esq0p

1u4esq0p3#

使用cowplot包。如果plot1plot2ggplot对象,那么我们可以将它们以相对宽度并排排列,如下所示:

library(cowplot)
finalplot <- plot_grid(plot1, plot2, ncol = 2, align = "h", axis = "tb", rel_widths = c(4, 1))

相关问题