当前位置:  开发笔记 > 编程语言 > 正文

R Markdown中的图形大小

如何解决《RMarkdown中的图形大小》经验,为你挑选了1个好方法。

我试图谨慎而透彻地阅读网上的各种内容,以了解如何在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> Stefan Avey..:

在我看来,您想让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)
```


是的,这是*针对所有实际目的的解决方案*。但是它告诉我,我们对Rmarkdown中的R代码段没有任何控制,但是我们必须使用一些技巧来实现所需的功能。为什么正确的参数组合(例如fig.height,fig.width,out.retina(或out.width))对我们不起作用?
推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有