嗨,我想更改块选项,中块,而无需创建一个新的块..

运行以下代码,我希望得到两个非常不同的大小输出,但由于某种原因,这似乎不是这种情况。

还有第二个绘图根本没有图...(将其更改为绘图时(2:1000)......但是第二个输出与第一个的方式相同。这两个生成icetagcode。我做错了什么?

请注意,“MID CHUNK”的重要性原因是我想在运行一个函数时多次更改块选项以获得不同大小的不同输出。

```{r}
sessionInfo()

opts_chunk$set(fig.width=3)

plot(1:1000)

opts_chunk$set(fig.width=10)

plot(1:1000)

```
.

SessionInfo输出如下:

## R version 2.15.1 (2012-06-22)
## Platform: i386-pc-mingw32/i386 (32-bit)
## 
## locale:
## [1] LC_COLLATE=English_United Kingdom.1252 
## [2] LC_CTYPE=English_United Kingdom.1252   
## [3] LC_MONETARY=English_United Kingdom.1252
## [4] LC_NUMERIC=C                           
## [5] LC_TIME=English_United Kingdom.1252    
## 
## attached base packages:
## [1] stats     graphics  grDevices datasets  utils     methods   base     
## 
## other attached packages:
## [1] knitr_0.7
## 
## loaded via a namespace (and not attached):
## [1] digest_0.5.2   evaluate_0.4.2 formatR_0.5    parser_0.0-16 
## [5] plyr_1.7.1     Rcpp_0.9.13    stringr_0.6    tools_2.15.1  
.

有帮助吗?

解决方案

两个问题:当您希望保留两个数字时,请使用

```{r fig.keep='all'}
.

默认值只保留唯一的图(因为您的两个图是相同的,第二个被删除;请参阅牢房图形手册详细信息)。

全局块选项在下一个块打开时处于活动状态:

```{r}
opts_chunk$set(fig.width=10)
```


```{r}
opts_chunk$set(fig.width=2)
# Our figure is 10 wide, not 2
plot(1:1000)
```

```{r}
# Our figure is 2 wide, not 10
opts_chunk$set(fig.width=10)
plot(1:1000)
```
.

其他提示

这适用于我,根据yui在github上的提示。

\documentclass{article}

\begin{document}
<<setup,echo=FALSE>>=
opts_knit$set(progress = F, verbose = F)
opts_chunk$set(comment=NA, warning=FALSE,message=FALSE,fig.width=6, echo=F)
kexpand=function(){
  cat(knit(
  text=knit_expand(text=
                     "<<yfig-{{cap}}-,fig.cap='{{cap}}',results='markup',echo=FALSE,fig.height={{figheight}},out.height={{outheight}}>>=\n
                   .q\n
                   @"
  )
))}
@

<<results='asis'>>=
library(ggplot2)
.q=qplot(1:10);cap="first caption";figheight=9;outheight=90
kexpand()
.q=qplot(1:20);cap="second caption";figheight=12;outheight=160
kexpand()

@
\end{document}
.

所以一个关键的是要将进度和冗长设置为f,否则它们会破坏输出。然后,小功能Kexpand展开了一个内联模板,该模板键入为函数的一部分。 然后,您可以将您的绘图定义为.q和您的标题为帽,您的高度等。您可以调整控制其他选项的功能。 奇怪的是,.q和标题不必是该函数的参数,您可以在当前环境中设置它们,并且无论如何它们都会被函数拾取。不知道这是否是良好的做法,或者它的工作原理是好的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top