【问题标题】:Raw HTML and plots in a (knitr) loop(knitr)循环中的原始 HTML 和绘图
【发布时间】:2015-04-19 14:53:41
【问题描述】:

我正在整理一个 Knitr 脚本来生成报告。报告的内容是在运行时动态确定的,其中报告的部分是通过循环生成的。理想情况下,我想在循环的每次迭代中执行以下两项操作:

  1. 生成一些原始 HTML 输出并
  2. 生成绘图。

但是,我正在努力让这两者同时工作。

如果我使用以下块选项,那么我会得到绘图,但 HTML 代码是在“pre”环境中格式化的。

```{r echo=FALSE, fig.keep = "all", fig.show = "asis"}
for (i in 1:3) {
  cat("<h2>Heading</h2>")
  print(ggplot(data.frame(x = 1:10, y = 1:10), aes(x = x, y = y)) + geom_point())
}
```

如果我更改块选项,那么我会得到原始 HTML,但绘图会消失,被一个短文本 sn-p 代替,指示绘图的路径。

```{r results="asis", echo=FALSE}
for (i in 1:3) {
  cat("<h2>Heading</h2>")
  print(ggplot(data.frame(x = 1:10, y = 1:10), aes(x = x, y = y)) + geom_point())
}
```

是否可以同时让两者工作?

这是我第一次尝试用 Knitr 做任何有意义的事情,所以我相信这个问题有一个简单的答案。

最好的问候, 安德鲁。

【问题讨论】:

    标签: r knitr


    【解决方案1】:

    这似乎对我有用:

    ```{r results='asis', echo=F, fig.keep='all'}
    
    for (i in 1:3) {
    
    cat("<h2>Heading</h2>")
    pl <- ggplot(data.frame(x = 1:10, y = 1:10), aes(x = x, y = y)) + geom_point()
    print(pl)
    
    }```
    

    【讨论】:

    • 谢谢。当我将它插入我的 .Rmd 文件时,它不起作用。但是我从头开始了整个事情,使用了你的代码,现在它工作正常!
    猜你喜欢
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2015-09-02
    • 2012-08-10
    相关资源
    最近更新 更多