如何使用没有原始降价输出的knitr块将元素添加到绘图中?

时间:2013-04-05 11:09:42

标签: r plot markdown knitr

出于纪录目的,我想要一些html输出中的绘图代码,而不是绘图。之后,我必须调用绘图代码,并在绘图中添加一些内容,但只能看到附加代码。我试过这个:

```{r non.finished.plotting, eval=FALSE}
    plot(1,type="n")
```
Some explanatory text here in the output:
"This produces an empty plot, and we could now add some points to it manually."

```{r add.layer, fig.width=5, fig.height=5}
<<non.finished.plotting, echo=FALSE>>
points(x=rnorm(100,1,0.1), y=rnorm(100,0.8,0.1) )

```

我在Yihui's找到了echo-notation,但是当我编织这个时,我在输出中收到一条错误信息。

## Error: plot.new has not been called yet

我也尝试摆弄chunk options,但我找不到能满足我想要的组合。 (对不起,这是非常基本的,但我找不到像这个例子那样的东西。

1 个答案:

答案 0 :(得分:11)

<<>>中的块引用不尊重块选项,因此<<non.finished.plotting, echo=FALSE>>将不起作用。您可以做的是将块选项echo移回主块,如下所示:

```{r add.layer, fig.width=5, fig.height=5, echo=-1}
<<non.finished.plotting>>
points(x=rnorm(100,1,0.1), y=rnorm(100,0.8,0.1) )
```

echo=-1表示不回显第一个表达式(如documented)。这可能是你想要的:

screen shot of knitr output