Предотвратить/остановить перенос графиков в уценку r

Новичок в уценке здесь... Вероятно, упустил что-то простое... Я пытаюсь создать документ уценки с графиками, сгенерированными в цикле for, но хочу предотвратить перенос графиков ==, т.е. сохранить один столбец.

Это похоже на то, что появляется здесь: Knitr, как предотвратить перенос текста в выводе . Я не могу заставить это работать для сюжетов.

В идеале между ними может быть разрыв строки. Я нашел это, но я не знаком с pandoc, и он добавляет еще один слой к тому, что я пытаюсь сохранить простым. Пойду по этому пути, если это лучшее решение, но держу пари, что есть что-то проще. Поместить графики в таблицу? С этим еще не разобрался...

Пример кода (отредактированный с момента первого поста):

```{r}
value <- rnorm(100)
index <- c(rep(1,20),rep(2,20),rep(3,20),rep(4,20),rep(5,20))
group1 <- 1:5
group2 <- 1:2
df <- as.data.frame(cbind(value,index,group1,group2))

for (i in unique(df$group1)){
par(mfrow=c(1,2))
plot(value~index,data=subset(df,group1==i & group2==1),type="l",pch=16,main=unique(paste("plot",i,"group=",group1)))
plot(value~index,data=subset(df,group1==i & group2==2),type="l",pch=16,main=unique(paste("plot",i,"group=",group2)))
box("outer")
}
```

person gwslane    schedule 23.07.2013    source источник
comment
Подсказка: как вы думаете, что делает эта строка? par(mfrow=c(1,2))   -  person Marius    schedule 24.07.2013
comment
Создает одну строку, два столбца... которых я хотел бы много... каждый со своими заголовками, метками осей и т. д., упорядоченными в столбце...   -  person gwslane    schedule 24.07.2013


Ответы (1)


Вы можете настроить хук plot, чтобы добавить новую строку


Редактировать - 25 июля 2013 г.

Гораздо более простое предложение Ихуэя добавить новую строку перед линией включения сюжета.

то есть добавить кусок, который определяет

```{r setup, echo = FALSE}
hook_plot = knit_hooks$get('plot')
knit_hooks$set(plot = function(x, options) paste('\n', hook_plot(x, options), sep = ''))
```
person mnel    schedule 24.07.2013
comment
Это немного выше моего понимания ... может даже предположить, что вы скопировали ответ не в тот пост ??? - person gwslane; 24.07.2013
comment
@gwslane --- нет. Пробовали ли вы добавить этот фрагмент кода... Он работает - он добавляет новую строку \n перед каждым включением изображения, это означает, что изображения будут на новых строках (и, следовательно, в одном столбце). - person mnel; 24.07.2013
comment
@gwslane - что схематично, подход или ваше понимание? - person mnel; 24.07.2013
comment
Не схематично, это то, как это работает под капотом. Вам просто еще не нужно было искать. - person Bryan Hanson; 24.07.2013
comment
@gwslane, ты немного резок, и это хороший способ не тратить время на то, чтобы люди тратили время, помогая тебе в будущем. - person Tyler Rinker; 24.07.2013
comment
+1 за отличный ответ и любезное обращение с неблагодарным, грубым ОП. Позор, я не могу поставить +2 или больше... - person Gavin Simpson; 24.07.2013
comment
моя вина. оплошность. извините за это. слишком поздно вчера вечером ... все еще над моей головой. потребуется еще некоторое время с ним. - person gwslane; 24.07.2013
comment
@mnel о, вещи на моем заднем дворе были выставлены на всеобщее обозрение :) это выглядит немного пугающе... как насчет просто hook_plot = knit_hooks$get('plot'); knit_hooks$set(plot = function(x, options) paste('\n', hook_plot(x, options), sep = ''))? - person Yihui Xie; 25.07.2013
comment
@yihui - гораздо проще. Я собирался предложить вариант plot.format вместо sprintf, но ваш подход намного проще. - person mnel; 25.07.2013