我有以下R代码
<<Q1b1, fig=TRUE>>=
qqnorm(resid(model1), main=NULL)
@
我想将选项[keepaspectratio = true,scale = 0.75]添加到\ includegraphics {}调用,以便上面的R代码块生成
\begin{figure}[ht]
\caption{}
\begin{center}
\includegraphics[keepaspectratio=true, scale = 0.75]{filename.pdf}
\label{fig:1}
\end{center}
\end{figure}
我知道您可以使用\ SweaveOpt {width = x,height = y}来指定宽度和高度,但我想指定比例并让它在生成时保持图的纵横比。
有一种简单的方法吗?
由于
答案 0 :(得分:8)
您可以使用\setkeys{Gin}
指令为Sweave文档中的每个图形设置宽度。例如,文档前言中的以下内容使每个图形宽度为页面文本宽度的80%:
\setkeys{Gin}{width=0.8\textwidth}
否则,您可以将include=FALSE
参数添加到代码块,然后手动创建\includegraphics
指令。默认情况下,如果您的Sweave文件被调用test.Rnw
,则代码块生成的pdf文件的名称将为test-Q1b1.pdf
。所以你可以这样做:
<<Q1b1,fig=true,include=false,echo=false>>=
qqnorm(rnorm(100))
@
\begin{figure}[ht]
\caption{}
\begin{center}
\includegraphics[keepaspectratio=true,scale=0.1]{test-Q1b1.pdf}
\label{fig:1}
\end{center}
\end{figure}
但是,我已经对您的示例进行了一些测试,但scale
参数似乎对此处的数字没有任何影响。其他像angle
这样的人。
答案 1 :(得分:0)
如果您的Sweave文件前导码中没有\usepackage{Sweave}
,它将自动插入\begin{document}
语句之前的最后一行。因此你需要把
\setkeys{Gin}{width=0.8\textwidth}
,这实际上是\usepackage{Sweave}
中指定的Sweave样式文件的默认值。
AFTER \begin{document}
声明。有关详细信息,请参阅Sweave文档(http://www.statistik.lmu.de/~leisch/Sweave/Sweave-manual.pdf)部分4.1.2。