latex knitr chunk echo = FALSE会中断par()设置

时间:2012-09-14 12:00:17

标签: knitr

我是初次使用latex和knitr,当我使用echo = FALSE时,R chunk的输出有问题。下面的.Rnw代码按预期工作,即输出

    1. some code
    2. a block of figures arranged 2 x 3
    3. some more code
    4. a block of figures arranged 2 x 3

然而,更改块开口以消除输出中的代码块

<<bghist2_mas_rma, fig.height=4, fig.width=6, echo=FALSE>>=

不仅从输出中移除代码(好)而且还覆盖了par()设置,使得两个数字(每个2 x 3)在页面上相邻,大部分数字从边缘。

除了简单地将代码留在输出中,我怎么能绕过这个?

感谢

\newpage
<<bghist2_mas_rma, fig.height=4, fig.width=6, echo=TRUE>>=
par(mfrow=c(2,3))
for(i in 1:6){
    hist(bg.mas[,i], xlab="", las=1,
    main=paste(sep="", "bg.mas[, ",  i, "]"),
    xlim=c(-100, 300), breaks=10000)
}
par(mfrow=c(1,1))

par(mfrow=c(2,3))
for(i in 1:6){
    hist(bg.rma[,i], xlab="", las=1,
    main=paste(sep="", "bg.rma[, ",  i, "]"),
    xlim=c(-100, 300), breaks=10000)
}
par(mfrow=c(1,1))
@

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是将它们分成不同的块:

<<bghist2_mas_rma, fig.height=4, fig.width=6, echo=FALSE>>=
par(mfrow=c(2,3))
for(i in 1:6){
    hist(bg.mas[,i], xlab="", las=1,
    main=paste(sep="", "bg.mas[, ",  i, "]"),
    xlim=c(-100, 300), breaks=10000)
}
@

<<bghist2_mas_rma_2, fig.height=4, fig.width=6, echo=FALSE>>=
par(mfrow=c(2,3))
for(i in 1:6){
    hist(bg.rma[,i], xlab="", las=1,
    main=paste(sep="", "bg.rma[, ",  i, "]"),
    xlim=c(-100, 300), breaks=10000)
}
par(mfrow=c(1,1))
@