r - 如何使用 shinydashboardPlus 的轮播实现动态数量的幻灯片?
问题描述
我希望使用 shinydashboardPlus 的轮播来显示许多图表。这些图表的数量每天可以从 1 到 10 不等。
cron 作业每天运行 R 脚本。
这是一个具有固定数量幻灯片的工作示例,三张。
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
chart_names <- c( "http://placehold.it/900x500/39CCCC/ffffff&text=Slide+1",
"http://placehold.it/900x500/39CCCC/ffffff&text=Slide+2",
"http://placehold.it/900x500/39CCCC/ffffff&text=Slide+3")
ui <- dashboardPagePlus(
header = dashboardHeaderPlus(disable = TRUE ),
sidebar = dashboardSidebar(width = 0 ),
body = dashboardBody(
carousel(indicators = TRUE,
id = "mycarousel",
carouselItem(
tags$img(src = chart_names[1])
),
carouselItem(
tags$img(src = chart_names[2])
),
carouselItem(
tags$img(src = chart_names[3])
)
)
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
这是do.call
可以在哪里使用的示例吗?
从名称或函数以及要传递给它的参数列表构造并执行函数调用。
这次尝试:
do.call(carousel, as.list(c(id = "mycarousel", "carouselItem(tag$img(src = chart_names[1])")))
导致此错误:
Error: $ operator is invalid for atomic vectors
如何以编程方式将以前未知数量的幻灯片添加到 shinydashboardPlus 轮播?
解决方案
答案在带有 .list 参数 ?carousel 的文档中
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
nb_items = 5
items = Map(function(i) {carouselItem(
tags$img(src = paste0("http://placehold.it/900x500/39CCCC/ffffff&text=Slide+", i))
)}, 1:5)
ui <- dashboardPagePlus(
header = dashboardHeaderPlus(disable = TRUE ),
sidebar = dashboardSidebar(width = 0 ),
body = dashboardBody(
carousel(indicators = TRUE,
id = "mycarousel",
.list = items
)
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
推荐阅读
- git - 无法在 Rundeck 上启用 SCM Git 导入
- css - 是否可以避免更改我的 CSS,即使是不希望的 * 重置?
- linux - 如何验证两个检查点之间是否已释放所有内存分配?
- r - 如何在时间 = 0 时添加结果的基线值作为混合效应模型中的固定效应?
- vba - 我想过滤除数组中的值之外的所有值
- amazon-rds - 如何使用 AWS 数据管道解决“找不到数据库的 DriverClass:mariadb”?
- typescript - Accessing Interface in Type Definition File That is Not Exported (Cache Interface in @types/cache-manager)
- react-native - 文本输入闪烁反应本机
- git - 如何将分叉的 GitHub 存储库中的功能分支加载到我的应用程序中?
- java - 为什么 list-iterator.next(); 除非重复多次直到结束,否则返回“无当前元素”位置?