2014-12-21 33 views
10

我以前使用knitrR來生成.Rnw格式的報告。在我的報告中,我經常投入大量的陰謀,並使用大塊比例來操縱它們的大小,例如:圖形高度/寬度的針織塊選項不起作用

\begin{figure}[h!] 
\centering 
<<fig.width=6, fig.height=4, out.width='.89\\linewidth'>>= 

plot(mtcars) 

@ 
\caption{} 
\end{figure} 

這是幾個月前。然後,我轉移到另一個環境,重新安裝了R,這些選項似乎不再有效 - 在PDF輸出上,繪圖大小保持不變!

這裏提供了關於任何選項設置的所有代碼行。我期待着任何建議,我做錯了什麼。

<< >>= 
library(knitr) 
knitr::opts_chunk$set(echo=F, eval=T, message = F, warning=F, cache = F, fig=TRUE) 
@ 

\begin{figure}[h!] 
\centering 
<<fig.width=10, fig.height=3, out.width='.89\\linewidth', fig=TRUE, echo=F>>= 
plot(mtcars) 
@ 
\caption{mtcars plot} 
\end{figure} 

當我使用<<fig.width=10, fig.height=3, fig=TRUE, echo=F>>=時,會出現完全相同的結果。

會話信息

> sessionInfo() 
R version 3.1.1 (2014-07-10) 
Platform: x86_64-pc-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8  
[2] LC_NUMERIC=C    
[3] LC_TIME=pl_PL.UTF-8  
[4] LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=pl_PL.UTF-8 
[6] LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=pl_PL.UTF-8  
[8] LC_NAME=C     
[9] LC_ADDRESS=C    
[10] LC_TELEPHONE=C    
[11] LC_MEASUREMENT=pl_PL.UTF-8 
[12] LC_IDENTIFICATION=C  

attached base packages: 
[1] splines stats4 stats  graphics grDevices 
[6] utils  datasets methods base  

other attached packages: 
[1] bootstrap_2014.4  dplyr_0.3.0.9000  
[3] het.test_0.1   vars_1.5-2   
[5] lmtest_0.9-33  urca_1.2-8   
[7] strucchange_1.5-0 sandwich_2.3-2  
[9] zoo_1.7-11   MASS_7.3-34   
[11] VGAM_0.9-6   ggplot2_1.0.0  
[13] manipulate_0.98.1078 

loaded via a namespace (and not attached): 
[1] assertthat_0.1 colorspace_1.2-4 DBI_0.3.1  
[4] digest_0.6.4  evaluate_0.5.5 formatR_1.0  
[7] grid_3.1.1  gtable_0.1.2  htmltools_0.2.6 
[10] knitr_1.7  labeling_0.3  lattice_0.20-29 
[13] lazyeval_0.1.9 magrittr_1.0.1 munsell_0.4.2 
[16] parallel_3.1.1 plyr_1.8.1  proto_0.3-10  
[19] Rcpp_0.11.3  reshape2_1.4  rmarkdown_0.3.9 
[22] scales_0.2.4  stringr_0.6.2 tools_3.1.1  
[25] yaml_2.1.13  

PDF outpout截圖(不變大小)

enter image description here

+0

嘗試沒有'out.width =」 0.89 \\ linewidth''。 – MYaseen208

+0

我做過了(我嘗試了數十種組合:<) - 使用''''<< fig.width = 10,fig.height = 3,fig = TRUE,echo = F >> ='''不會產生任何變化。 –

+0

'fig = TRUE'塊選項是做什麼的?它不是給你一個警告嗎?似乎從舊的'Sweave'語法中遺留下來... –

回答

9

我敢肯定用的,而不是knitr Sweave你。如果您正在使用RStudio(你沒有說出來,但我猜是這樣),你需要在全局選項(或項目選項)更改爲knitr

use knitr in RStudio