在knitr中,可以通过在块选项中指定它来指定绘图的大小.
例如:
```{r, fig.width=9,fig.height=3}
plot(x)
```
Run Code Online (Sandbox Code Playgroud)
我希望能够在变量的基础上动态调整图形的高度和宽度x.假设x是data.frame:
x <- data.frame(x=factor(letters[1:3]),y=rnorm(3))
Run Code Online (Sandbox Code Playgroud)
例如,我想说我想将fig.height调整为等于 length(unique(x$x))
我希望能够在knitr中打印出非预定的情节列表.我是能够做到这一点,但也有留下来化解一些皱纹.即:
1)如何在每个绘图之前的每个页面上抑制列表索引(如[[2]])?使用echo = FALSE不会做任何事情.
2)是否可以在渲染时为每个绘图设置大小?我已经尝试在块之外设置一个大小变量,但这只允许我使用一个值而不是每个绘图的不同值.
我问这是一个问题,因为他们似乎在讲同一课,即制作一份情节清单.
一些示例代码:
\documentclass{article}
\usepackage[margin=.5in, landscape]{geometry}
\begin{document}
<<diamond_plots, echo = FALSE, results = 'hide'>>==
library(ggplot2)
diamond_plot = function(data, cut_type){
ggplot(data, aes(color, fill=cut)) +
geom_bar() +
ggtitle(paste("Cut:", cut_type, sep = ""))
}
cuts = unique(diamonds$cut)
plots = list()
for(i in 1:length(cuts)){
data = subset(diamonds, cut == cuts[i])
plots[[i]] = diamond_plot(data, cuts[i])
}
height = 3
@
<<print_plots, results='asis', echo=FALSE, fig.width=10, fig.height=height>>=
plots
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
这些图的PDF看起来像这样: