将图像对象并排放在Rmarkdown中

时间:2016-06-29 17:36:53

标签: r r-markdown

有没有办法可以在Rmarkdown(html输出)中并排放置两个图像对象?

理想情况下,我希望能够做到这样的事情:

```{r}
library(ggplot2)
library(data.table)

dt<-data.table(a=1:10, b=1:10)
gg <- ggplot(dt,aes(a,b)) + geom_line()
```

然后在另一个代码块或内联中调用gg两次(或w /另一个对象)(虽然这不起作用)

`r gg` `r gg`

让它们并排出现在html中。我还没有看到Rmarkdown特有的任何内容,只有其他一些保存图片的建议,而不是像我在这里看到的那样。

1 个答案:

答案 0 :(得分:3)

以下是我如何安排三个地块

library(ggplot2)
library(gridExtra)

o1 <- ggplot(...)

o2 <- ggplot(...)

o3 <- ggplot(...)

# for Aligning Axes in ggplot2 see 
# http://www.exegetic.biz/blog/2015/05/r-recipe-aligning-axes-in-ggplot2/

o2 <- ggplot_gtable(ggplot_build(o2))
o3 <- ggplot_gtable(ggplot_build(o3))
maxWidth = unit.pmax(o2$widths[2:3], o3$widths[2:3])

o2$widths[2:3] <- maxWidth
o3$widths[2:3] <- maxWidth

grid.arrange(o1, arrangeGrob(o2, o3, nrow=2),
             ncol=2, widths=c(1, 2))

结果是这样的

enter image description here