Rmarkdown在图形中包含无关文本
我正在使用ggplot2和grid.arrange打印rmarkdown文档中的图形,以绘制垂直排列的线条图和条形图。图表显示得很好,但在生成的pdf文档中,此无关文本显示在图表下方: 表格grob(3 x 1)“排列”:3个grob z单元格名称grob 1(2-2,1-1) 排列表格[layout]2(3-3,1-1)排列表格[layout]3 (1-1,1-1)排列文本[GRID.text.6189] 生成图形的代码位于如下函数中:Rmarkdown在图形中包含无关文本,r,ggplot2,r-markdown,R,Ggplot2,R Markdown,我正在使用ggplot2和grid.arrange打印rmarkdown文档中的图形,以绘制垂直排列的线条图和条形图。图表显示得很好,但在生成的pdf文档中,此无关文本显示在图表下方: 表格grob(3 x 1)“排列”:3个grob z单元格名称grob 1(2-2,1-1) 排列表格[layout]2(3-3,1-1)排列表格[layout]3 (1-1,1-1)排列文本[GRID.text.6189] 生成图形的代码位于如下函数中: ggnorm <- ggplotGrob(raw.
ggnorm <- ggplotGrob(raw.gr)
ggvol <- ggplotGrob(vol.gr)
maxWidth = grid::unit.pmax(ggnorm$widths[2:5], ggvol$widths[2:5])
ggnorm$widths[2:5] <- as.list(maxWidth)
ggvol$widths[2:5] <- as.list(maxWidth)
combo.plot <- grid.arrange(ggnorm, ggvol, ncol=1, top=the.title)
return(combo.plot)
```{r overall, echo=FALSE, results="asis", warning=FALSE, message=FALSE}
overall.plot <- ComboPlot(overall.raw.scores, my.aes, paste("EPI", var.list[i], "through", yrq.list[length(yrq.list)]))
cat(" \n### \n")
print(overall.plot)
cat(" \n### \n")
然后调用函数,结果如下所示:
ggnorm <- ggplotGrob(raw.gr)
ggvol <- ggplotGrob(vol.gr)
maxWidth = grid::unit.pmax(ggnorm$widths[2:5], ggvol$widths[2:5])
ggnorm$widths[2:5] <- as.list(maxWidth)
ggvol$widths[2:5] <- as.list(maxWidth)
combo.plot <- grid.arrange(ggnorm, ggvol, ncol=1, top=the.title)
return(combo.plot)
```{r overall, echo=FALSE, results="asis", warning=FALSE, message=FALSE}
overall.plot <- ComboPlot(overall.raw.scores, my.aes, paste("EPI", var.list[i], "through", yrq.list[length(yrq.list)]))
cat(" \n### \n")
print(overall.plot)
cat(" \n### \n")
total.plot你能做一个可复制的例子吗?至少要隔离生成该消息的代码行并共享它?看起来您可能在网格中显式地print()
?这对于knitr
来说应该是不必要的。试着去掉打印的。嘿,谢谢你,Gregor!这就解决了问题。不知道为什么。打印这些行是gtable
打印方法的一部分。您也可以在控制台中进行测试,定义一些绘图p
,然后尝试grid.arrange(p)
和print(grid.arrange(p))
。