增加rmarkdown中的图之间的空间

时间:2015-05-21 15:07:19

标签: r plot r-markdown

我试图在一行中绘制两个数字,我想增加它们之间的空间。我搜索了这个论坛和其他几个网站,但我找到的选项似乎都没有。更改maimaroma值可以移动所有内容,但空间保持不变。我如何保持现在的数字(大小明智)但增加它们之间的差距?

这是我的代码:

```{r echo=FALSE, fig.width=6, fig.height=6}
g.erd <- erdos.renyi.game(100, 150, type="gnm")
par(mfrow = c(1, 2),  mai = c(1, 0.1, 0.1, 0.1))
plot(g.erd, layout=layout.circle, vertex.label=NA)
```

```{r echo=FALSE, fig.width=3, fig.height=3.5}
hist(degree(g.erd), xlab="Degree", ylab="Frequency", main="")
par(mfrow = c(1, 1))  
```

以下是我的情节现在的样子:http://i.stack.imgur.com/V2Fc7.png

3 个答案:

答案 0 :(得分:1)

ggplot2中的'hackish'解决方案是在第二个图表的标题开头之前添加额外的行空格\ n,如下所示:

ggtitle(“\ n \ nPlot Title”)

答案 1 :(得分:0)

这种方式有点有效。这取决于您想要不同尺寸的原因,但您可以设置布局widthheight参数,或par(mar=c()以获得所需的间距和尺寸。您还可以创建一个具有3个绘图区域的布局,并留下一个空白,作为尝试将较小的直方图强制到所需位置(layout.show(layout(matrix(c(1,1,2,3),ncol=2))))的方法。

```{r echo=FALSE, fig.width=6, fig.height=6}
library(igraph)
g.erd <- erdos.renyi.game(100, 150, type="gnm")

layout(matrix(c(1,2), ncol=2), width=c(1,1))
par(mar=c(1,1,1,1))
plot(g.erd, layout=layout.circle, vertex.label=NA)

par(mar=c(10,5,9,1))
hist(degree(g.erd), xlab="Degree", ylab="Frequency", main="")
```

希望这会有所帮助。祝好运。

编辑:我已经将绘图代码更改为近似相等的图形大小,但它只是一种猜测,其他人可能能够提供更好的解决方案。

答案 2 :(得分:0)

您可以尝试在每个块之间添加减价符。 <br>,像这样:

```{r, echo=F}
plot(cars)
```

<br><br><br>

```{r, echo=F}
plot(cars)
```

之前:

enter image description here

之后:

enter image description here

您可以堆叠多个<br>以达到所需的间隙。