如何在Rmarkdown中应用循环中生成的动态图之间添加间距?

如何在Rmarkdown中应用循环中生成的动态图之间添加间距?,r,r-markdown,dygraphs,htmlwidgets,R,R Markdown,Dygraphs,Htmlwidgets,这个问题与 @Yihui的回答很好地描述了如何在rmarkdown中创建循环中的动态图。但是,正如您所注意到的,两个图之间没有间距。当有很多的时候,这就变得很难阅读了 ```{r} library(dygraphs) lungDeaths <- cbind(mdeaths, fdeaths) res <- lapply(1:2, function(i) dygraph(lungDeaths[, i])) htmltools::tagList(res) ``` 如果我不想要打印标题

这个问题与

@Yihui的回答很好地描述了如何在rmarkdown中创建循环中的动态图。但是,正如您所注意到的,两个图之间没有间距。当有很多的时候,这就变得很难阅读了

```{r}
library(dygraphs)
lungDeaths <- cbind(mdeaths, fdeaths)

res <- lapply(1:2, function(i) dygraph(lungDeaths[, i]))
htmltools::tagList(res)
```
如果我不想要打印标题,但仍然想要在打印之间分隔,我会传递一个换行符作为标题,如下所示:

```{r}
library(dygraphs)
lungDeaths <- cbind(mdeaths, fdeaths)

res <- lapply(1:2, function(i) {
    dygraph(lungDeaths[, i], main = "<br>") %>%
        dyOptions(titleHeight = 50) %>%
        dyCSS("dygraph.css")
    })
htmltools::tagList(res)
```
`{r}
图书馆(动态图)
肺死亡%
动态选项(标题亮度=50)%>%
dyCSS(“dygraph.css”)
})
htmltools::标记列表(res)
```
虽然这确实可以增加间距,但如果可能的话,我宁愿避免使用外部CSS。更不用说,它不允许在绘图之间添加任何其他对象(如文本或水平规则)。有没有办法在函数调用的每次迭代之间手动添加这些对象

编辑:根据下面的答案,我们还可以在每次迭代之间添加一个中断,如下所示:

```{r}
library(dygraphs)
lungDeaths <- cbind(mdeaths, fdeaths)

res <- lapply(1:2, function(i) {
    dygraph(lungDeaths[, i])

    })

invisible(lapply(1:2, function(i) {
    if (!exists("l")) {
        l <<- list()
        }

        l[[i]] <<- htmltools::tags$br() 
    }))

out <- c(rbind(l, res))

htmltools::tagList(out)

```
`{r}
图书馆(动态图)

lungdeath我对标记列表不太熟悉,但似乎可以将包含附加规则、间距、文本等的标记/标记与动态图列表交错,例如:

space <- list(htmltools::tags$h1("Title"), 
              htmltools::tags$h2("Header text"))
out <- c(rbind(space, res))
htmltools::tagList(out)

space您可以通过另一个apply或类似调用生成
space
列表,具体取决于数据的结构。
```{r}
library(dygraphs)
lungDeaths <- cbind(mdeaths, fdeaths)

res <- lapply(1:2, function(i) {
    dygraph(lungDeaths[, i])

    })

invisible(lapply(1:2, function(i) {
    if (!exists("l")) {
        l <<- list()
        }

        l[[i]] <<- htmltools::tags$br() 
    }))

out <- c(rbind(l, res))

htmltools::tagList(out)

```
space <- list(htmltools::tags$h1("Title"), 
              htmltools::tags$h2("Header text"))
out <- c(rbind(space, res))
htmltools::tagList(out)