我试着小心谨慎,在网上阅读各种关于如何格式化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所示,如何调整简单图形的大小?
谢谢!
答案 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)
```
```{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
```
如果你的意思是你希望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)
```
```{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)
```