我试图谨慎而透彻地阅读网上的各种内容,以了解如何在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所示的简单图形的大小?
谢谢!
在我看来,您想让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) ```