for (i in 1:4){
v <- rnorm(50)
plot(v, main=paste("Iteration ", i))
}
我有重复执行上述代码的代码,每次生成一个图,就像上面的代码一样。我将如何允许用户单击以查看Shiny应用程序中的下一个情节?
答案 0 :(得分:1)
使用slickR
软件包制作精美的幻灯片。
library(shiny)
library(slickR)
library(svglite)
plots <- lapply(1:5, function(i){
xmlSVG({plot(rnorm(50), main=paste0("Iteration ", i))}, standalone = TRUE)
})
#make the plot self contained SVG to pass into slickR
plotsAsSVG <- sapply(plots, function(sv){
paste0("data:image/svg+xml;utf8,",as.character(sv))
})
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
####
),
mainPanel(
slickROutput("slickr", width="500px")
)
)
)
server <- function(input, output) {
output$slickr <- renderSlickR({
imgs <- plotsAsSVG
slickR(imgs)
})
}
# Run the application
shinyApp(ui = ui, server = server)