【问题标题】:Prevent/stop plots from wrapping in r markdown防止/停止情节在 r markdown 中换行
【发布时间】:2013-07-23 23:34:15
【问题描述】:

这里是markdown的新手...可能缺少一些简单的东西...我正在尝试创建一个markdown文档,其中包含在for循环中生成的图,但想要防止包装图==,即保留一列。

这类似于此处显示的内容:Knitr how to prevent text wrapping in output。我不能让它为情节工作。

理想情况下,每个之间可以有一个换行符。我找到了this,但我不熟悉 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")
}
```

【问题讨论】:

  • 提示:你认为这条线有什么作用? par(mfrow=c(1,2))
  • 创建单行两列图...我想要很多...每个都有自己的标题、轴标签等,按列排序.​​..

标签: r markdown knitr pandoc


【解决方案1】:

您可以调整plot 挂钩以追加新行


编辑 - 2013 年 7 月 25 日

Yihui 更简单的建议是在情节包含线之前强制换行

即添加一个块,定义

```{r setup, echo = FALSE}
hook_plot = knit_hooks$get('plot')
knit_hooks$set(plot = function(x, options) paste('\n', hook_plot(x, options), sep = ''))
```

【讨论】:

  • @gwslane --- 没有。您是否尝试过添加此代码块......它有效 - 它在每次包含图像之前附加一个新行 \n,这意味着图像将在新行上(因此在一个列中)。跨度>
  • @gwslane -- 什么是粗略的、方法或你的理解?
  • 不是粗略的,这就是它在引擎盖下的工作方式。你只是还不需要看。
  • @gwslane 你有点粗鲁,这是避免人们在未来花时间帮助你的好方法。
  • +1 以获得出色的答案和优雅地处理忘恩负义、粗鲁的 OP。可惜我不能给 +2 或更多...
猜你喜欢
  • 2019-06-02
  • 2014-06-18
  • 1970-01-01
  • 2020-03-28
  • 2018-10-17
  • 1970-01-01
  • 2013-09-14
  • 1970-01-01
相关资源
最近更新 更多