как изменить область графика в Rmarkdown? [Дубликат]

Это все в «волшебном» синтаксисе вызова метода:

object.property();

Когда вы получаете свойство из объекта и вызываете его за один раз, объект будет контекстом для метода , Если вы вызываете тот же метод, но в отдельных шагах, контекст представляет собой глобальную область (окно):

var f = object.property;
f();

Когда вы получаете ссылку на метод, он больше не привязан к объекту, это просто ссылка на простую функцию. То же самое происходит, когда вы получаете ссылку на использование в качестве обратного вызова:

this.saveNextLevelData(this.setAll);

Здесь вы привязываете контекст к функции:

this.saveNextLevelData(this.setAll.bind(this));

Если вы используете jQuery вы должны использовать метод $.proxy, а bind не поддерживается во всех браузерах:

this.saveNextLevelData($.proxy(this.setAll, this));
2
задан striatum 30 December 2015 в 19:34
поделиться

1 ответ

Мне кажется, что вы хотите, чтобы 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 занимал столько же места на визуализированном документе, как показано на рис. 1, попробуйте это, где 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)
```

4
ответ дан Stefan Avey 21 August 2018 в 18:49
поделиться
  • 1
    Да, это решение для всех практических целей. Но это говорит мне, что мы не имеем никакого контроля над R-фрагментами в Rmarkdown, но мы должны использовать некоторые хаки, чтобы сделать то, что хотим. Почему для нас не работает правильная комбинация параметров, таких как fig.height, fig.width, out.retina (или out.width)? – striatum 1 January 2016 в 13:13
Другие вопросы по тегам:

Похожие вопросы: