如何在R Markdown中仅显示ordisurf与orditorp生成的图并隐藏输出代码
解决R Markdown绘图代码块多余输出问题
问题本质
带#的输出是ordisurf或orditorp函数的返回对象信息,即便设置echo=FALSE,R仍会默认打印这些返回值;而用+连接绘图语句报错,是因为这类函数属于基础绘图体系,不支持ggplot2的图层叠加+语法。
可行解决方案
方案1:添加results='hide'代码块选项
直接在代码块头部设置该选项,隐藏所有文本输出,仅保留绘图结果:
```{r echo=FALSE, results='hide'} par(mar = c(5,5,2,2)) ordisurf(你的参数) orditorp(你的参数)
### 方案2:用`invisible()`抑制返回值打印 在绘图代码末尾添加`invisible()`,阻止R打印函数返回的对象: ```r ```{r echo=FALSE} par(mar = c(5,5,2,2)) ordisurf(你的参数) orditorp(你的参数) invisible()
也可以针对单个函数包裹,精准抑制: ```r ```{r echo=FALSE} par(mar = c(5,5,2,2)) invisible(ordisurf(你的参数)) invisible(orditorp(你的参数))
### 方案3:用`local()`创建局部环境 将所有绘图逻辑放在`local()`中,避免返回值被全局环境打印: ```r ```{r echo=FALSE} local({ par(mar = c(5,5,2,2)) ordisurf(你的参数) orditorp(你的参数) })
内容的提问来源于stack exchange,提问作者Raffaele Bruschi
相关产品推荐
相关产品推荐

