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
其中也有详细信息。
对于您引用的示例,widthand heightare 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 处理时包含图形的宽度。