【问题标题】:Manually use R Knit/Markdown to produce plots for HTML手动使用 R Knit/Markdown 生成 HTML 绘图
【发布时间】:2014-03-25 19:23:12
【问题描述】:

我正在使用knit()markdownToHTML()自动生成报告。

问题是我在使用这些命令时没有输出绘图。但是,当我使用 RStudio 的 Knit HTML 按钮时,会生成绘图。然后当我使用我自己的 knit/markdown 函数时,它会突然输出绘图。当我切换到另一个文档并编织那个文档时,就会出现旧图。

例子:

```{r figA, result='asis', echo=TRUE, dpi=300, out.width="600px", 
              fig=TRUE, fig.align='center', fig.path="figure/"}
plot(1:10)
```

使用命令:

 knit(rmd, md, quiet=TRUE)
 markdownToHTML(md, html, stylesheet=style)

所以我猜有 2 个问题,这取决于你想如何处理它:

  • Rstudio 的Knit HTML 有什么魔力?
  • 如何在不依赖 RStudio 的 Knit HTML 按钮的情况下生成/包含?

【问题讨论】:

  • 我发现 RStudio 将它们输出到一个文件夹中,而 knitting 并没有将地块放在这个文件夹中。
  • 你的意思是 RStudio 为同一目录中的 .md 文件输出绘图,而 knit() 将它们输出到 figure/ 文件夹中?如果是这样,您是否知道将 RStudio 输出图设置到 figure/ 文件夹而不在 .Rmd 文件中明确指定 opts_chunk$set(fig.path = "figure/") 的方法?

标签: r plot markdown knitr rstudio


【解决方案1】:

我在这里看到的唯一问题是,当您有跨越两行的块选项{...} 时,这不起作用。如果全部在一条线上,它工作正常。我错过了什么吗?

查看the documentation 中的 knitr 下如何禁止这样做:

  1. 块选项必须写在一行中;块选项内不允许换行;

RStudio 必须以非标准方式处理换行符。

【讨论】:

  • 我不知道,但无论如何都要采用这种格式(此处输入只是为了更好地显示)。我很抱歉。
【解决方案2】:

这真的很尴尬,我真的以为我仔细阅读了文档:

include: (TRUE;logical) 是否将块输出包含在 最终输出文件;如果 include=FALSE,则不会写入任何内容 输出文档,但代码仍在评估和绘图文件 如果块中有任何地块,则生成,因此您可以手动 插入数字;请注意,这是唯一未缓存的块选项, 即,更改它不会使缓存无效

只需添加 {..., include=TRUE} 就可以了。我会说这将是一个非常明智的默认设置。

【讨论】:

    猜你喜欢
    • 2018-05-26
    • 1970-01-01
    • 2021-11-01
    • 2017-02-02
    • 2014-03-10
    • 2012-07-11
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多