R Markdown中的图形尺寸

时间:2015-12-30 18:34:11

标签: r r-markdown figure

我试着小心谨慎,在网上阅读各种关于如何格式化R Markdown数字的东西。它们被正确地绘制,但似乎它们的大小无法控制。

首先,有一些基础知识,例如:

```{r Fig1, echo=FALSE, fig.height=5, fig.width=15}
    x1 = rnorm(100)
    x2 = runif(100)
    x3 = rbeta(100, 1, 1,)
    par(mfrow=c(1,3), mar=c(4,4,4,1), oma=c(0.5,0.5,0.5,0))
    qqnorm(x1)
    qqnorm(x2)
    qqnorm(x3)
```

然后,我尝试了一下:

```{r Fig1b, echo=FALSE, fig.height=5, fig.width=15, out.retina=1}

```

如果我尝试匹配另一个简单图形的大小,差异是非常明显的。例如:

```{r Fig2, echo=FALSE, fig.height=5, fig.width=5, retina=1}
    par(mfrow=c(1,1), mar=c(4,4,4,1), oma=c(0.5,0.5,0.5,0))
    qqnorm(x1)
```

我想知道可以做些什么 - 即如何使所有数字大小相等?特别是,如图1和图1b等数字缩小,如图2所示,如何调整简单图形的大小?

谢谢!

1 个答案:

答案 0 :(得分:4)

在我看来,您希望Fig2与图1中的单个面板尺寸相同。如果您确实希望它们具有相同的尺寸,我建议对fig.width使用相同的mfrow和相同的值。

```{r Fig1, echo=TRUE, fig.height=5, fig.width=15}
x1 = rnorm(100)
x2 = runif(100)
x3 = rbeta(100, 1, 1,)
par(mfrow=c(1,3), mar=c(4,4,4,1), oma=c(0.5,0.5,0.5,0))
qqnorm(x1)
qqnorm(x2)
qqnorm(x3)
```

Fig 1

```{r Fig2, echo=TRUE, fig.height=5, fig.width=15}
par(mfrow=c(1,3), mar=c(4,4,4,1), oma=c(0.5,0.5,0.5,0)) # same, could omit
plot.new()   # empty plot
qqnorm(x1)
plot.new()   # empty plot
```

Fig 2

如果你的意思是你希望Fig2在渲染文档上占用与Fig1相同的空间,那么试试par(op)重置绘图参数。

```{r Fig1, echo=TRUE, fig.height=5, fig.width=15}
x1 = rnorm(100)
x2 = runif(100)
x3 = rbeta(100, 1, 1,)
op <- par(mfrow=c(1,3), mar=c(4,4,4,1), oma=c(0.5,0.5,0.5,0))
qqnorm(x1)
qqnorm(x2)
qqnorm(x3)
par(op)
```

Fig 1

```{r Fig2, echo=TRUE, fig.height=5, fig.width=15}
op <- par(mfrow=c(1,1), mar=c(4,4,4,1), oma=c(0.5,0.5,0.5,0))
qqnorm(x1)
par(op)
```

enter image description here