我正在尝试动态创建和循环,htmlwidgets
例如DT
, plotly
,或rbokeh
生成自动 knitr 报告。有没有办法在这个 github 问题https://github.com/ramnathv/htmlwidgets/pull/110中概述的方法中添加knitr
格式,例如?我也在那里发布了这个问题。tabset
tagList
下面是我在想的一些示例代码,但它并不完全有效。我要做的是创建 10 个选项卡,每个选项卡都有一个从plot_list
. 现在发生的是所有图都进入最后一个选项卡。在实践中,plot_list
会有不同的图/表。
#' ---
#' title: htmltools::tagList test
#' output:
#' html_document
#' ---
#' # {.tabset}
#+ results='asis', echo=FALSE
library(plotly)
library(printr)
plot_list = lapply(1:10,
function(i){
as.widget(plot_ly(iris,
x = iris[["Sepal.Length"]],
y = iris[["Sepal.Width"]],
mode = "markers"))
}
)
htmltools::tagList( lapply(1:10,
function(i) {
pandoc.header(paste0("Tab",i,' {.tabset}'), 2)
plot_list[[i]]
}
)
)
# rmarkdown::render("your_path/htmltoolsTagList_test.r")
以前,我用嵌套的 for 循环成功地做了类似的事情,但是一旦我尝试使用带有 HTML 依赖项的图形,图形当然不会呈现,因为它们不再是顶级表达式。有可能knitr
像这样循环吗?
我的一个后续问题是:假设我想将这些选项卡嵌套到以相同方式创建的另一组选项卡中,这可能吗?我要问的是,我可以使用这样的方法动态嵌套选项卡,类似于嵌套的 for 循环吗?
我仍在学习如何使用knitr
,希望有任何帮助!谢谢!