Sweave 有块选项width
和height
图像尺寸。它不会控制最终呈现的 PDF 中的绘图有多大,因为这是 LaTeX 控制的,但它确实控制了图形本身的创建。
来自Sweave 手册[pdf]:
注意:容易混淆的一件事是 R 图形设备的width
/height
参数和 LaTeX\includegraphics
命令的相应参数。Sweave 选项传递给 R 图形设备width
,height
因此会影响生成的 EPS 和 PDF 文件的默认大小。它们不影响文档中图形的大小,默认情况下它们总是当前文本宽度的 80%。用于\setkeys{Gin}
修改图形大小或\includegraphics
结合 Sweave 选项使用显式命令include=FALSE
。
另请阅读
require("utils")
?RweaveLatex
其中也有详细信息。
对于您引用的示例,width
and height
are both 6
,默认值。所以你可以做类似的事情
<<fig=TRUE, width=8, height=5>>=
barplot(prop.table(table(x, y), margin = 2) * 100,
border = FALSE, xlab = '', ylab = '', las = 2)
@
以获得所需的比例。
[请不要使用F
和T
-你在自找麻烦!]
但是,请注意手册或?RweaveLatex
说的内容。默认情况下,一旦在 LaTeX 中,图像将包含宽度等于0.8\textwidth
. 因此,您可能还希望将每个块的宽度显式设置为创建的图形的大小,例如
\setkeys{Gin}{width=8in}
<<fig=TRUE, width=8, height=5>>=
barplot(prop.table(table(x, y), margin = 2) * 100,
border = FALSE, xlab = '', ylab = '', las = 2)
@
%% reset if you want
\setkeys{Gin}{width=0.8\textwidth}
所以你必须管理这两个设置:
- sweave 块选项
width
和height
控制 EPS 或 PDF 文件(或两者)的创建
\setkeys{Gin}
控制使用 LaTeX 处理时包含图形的宽度。