如何编写R函数,以创建一系列散布有markdown的情节图

时间:2018-08-11 19:44:08

标签: html r rstudio r-markdown plotly

我有一个函数,该函数生成可变数量的plotly图形,并创建R个markdown标头,例如

### Caption for plot

这些标头最终出现在RStudio生成的R markdown html报告中的浮动目录中。

我知道如何使用htmltools::tagList生成一系列htmlplotly对象,这些对象将在一个流中呈现所有对象,但是我看不到如何替换{{1 }}中的markdown元素中的htmltools::HTML('foo')部分。

1 个答案:

答案 0 :(得分:2)

感谢r2evans,这是我的问题的解决方案。这里的R是字符向量的列表,其每个元素都是文本和markdown的混合。 Plplotly对象的列表。 nP是每个列表的长度。

bn <- paste0('c', round(runif(1, 0, 1e6)))  # base chunk name
for(i in 1 : nP) {
  cn <- paste0(bn, i)  # name of individual generated chunk
  Plti <- Pl[[i]]      # fetch i'th plotly graphic object
  k <- c(R[[i]], paste0('```{r ', cn, ',echo=FALSE}'), 'Plti', '```')
  cat(trimws(knitr::knit(text=knitr::knit_expand(text=k), quiet=TRUE)))
  }
}