如何消除R Markdown中gridExtra输出的多余TableGrob信息?
解决R Markdown编织HTML时多余TableGrob输出的问题
这个问题我碰到好多次了!其实原因很简单:你用grid.arrange()生成的plot1是个TableGrob对象,当你在代码块最后一行直接写plot1时,R会自动打印这个对象的结构信息,就是你看到的那串多余内容。给你三个实用的解决办法:
方法一:用
invisible()包裹对象
这个方法最直观,告诉R“只显示图像,别打印对象信息”,修改后的代码块如下:{r DATASNAPSHOT1, echo = FALSE, message=FALSE, warning=FALSE, fig.height=10, fig.width=10} plot1 <- grid.arrange(arrangeGrob(p0, p1,ncol=2), p2, ncol=1, heights=c(1.5,2)) invisible(plot1)方法二:直接输出绘图结果,不赋值
如果你不需要保留plot1这个对象,完全可以跳过赋值步骤,直接运行grid.arrange(),这样只会输出图像,不会产生多余的对象结构信息:{r DATASNAPSHOT1, echo = FALSE, message=FALSE, warning=FALSE, fig.height=10, fig.width=10} grid.arrange(arrangeGrob(p0, p1,ncol=2), p2, ncol=1, heights=c(1.5,2))方法三:给代码块添加
results='hide'参数
这个参数会隐藏代码块的所有文本输出,但不会影响图像显示,非常适合你这种不需要任何文本输出的场景:{r DATASNAPSHOT1, echo = FALSE, message=FALSE, warning=FALSE, fig.height=10, fig.width=10, results='hide'} plot1 <- grid.arrange(arrangeGrob(p0, p1,ncol=2), p2, ncol=1, heights=c(1.5,2)) plot1
这三个方法都能完美解决你的问题,选哪个看你自己的需求就好~
内容的提问来源于stack exchange,提问作者val
相关产品推荐
相关产品推荐

