我创建了一个自定义函数,它将 mfrow 设置为 nxn 并根据数据框的输入列表创建 n^2 个散点图,每个图上有多个数据集。我的绘图函数的签名如下所示:
plot.return.list<-function(df.list,num.plot,title)
Where df.list
是我的数据框列表,num.plot
是要生成的绘图总数(用于设置mfrow
) and title
是总体图标题(该函数为每个单独的子图生成标题)。
当我从控制台运行该函数时,这会很好地创建绘图。但是,我正在尝试使用 RStudio 将此图放入 Markdown 文档中,如下所示:
```{r, fig.height=6,fig.width=6}
plot.return.list(f.1.list,4,bquote(atop("Numerical Approximations vs Exact Soltuions for "
,dot(x)==-1*x*(t))))
```
由于我还没有设置echo
我的选项{r}
语句,这会打印绘图代码以及绘图本身。但是,如果我的第一行改为:
{r, fig.height=6,fig.width=6,echo=FALSE}
然后代码和情节都会从最终文档中消失。
如何在没有代码的情况下显示绘图?根据RStudio给出的例子,设置echo=FALSE
应该使情节在没有代码的情况下出现,但这不是我观察到的行为。
EDIT:我似乎已经将我的问题归结为kable
。无论我是否正在制作自定义绘图帮助函数,任何对kable
杀死了我的阴谋。这可以在降价中重现:
---
title: "repro"
author: "Frank Moore-Clingenpeel"
date: "October 9, 2016"
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
options(default=TRUE)
repro.df<-data.frame((0.1*1:10)%*%t(1:10))
```
```{r, echo=FALSE}
kable(repro.df)
```
```{r, fig.height=6,fig.width=6,echo=FALSE}
plot(repro.df[,1],repro.df[,2])
```
在这段代码中,绘图不会绘制,因为我有echo
设置为假;删除标志使绘图可见
另请注意,在我的重现代码中,kable
生成一个表,最后一行有一堆垃圾——我不知道为什么,但这对于我的完整原始代码来说不是这样,而且我认为这与我的问题无关。