如何解决如何使用shinydashboardPlus的轮播实现动态数量的幻灯片?
我希望使用shinydashboardplus 的轮播图来显示多个图表。这些图表的数量每天从一张到十张不等。
一个 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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。