How to show Spinning Wheel or Busy Icon while waiting in Shiny
20,263
There is wonderful shinycssloaders
package https://github.com/andrewsali/shinycssloaders, now maintained here https://github.com/daattali/shinycssloaders, which does what you want:
library(shiny)
library(dplyr)
library(shinycssloaders)
ui <- fluidPage(
actionButton("plot","plot"),
plotOutput("Test") %>% withSpinner(color="#0dc5c1")
)
server <- function(input, output, session) {
data <- eventReactive(input$plot,{
rnorm(1:100000)
})
output$Test <- renderPlot({
plot(data())
})
}
shinyApp(ui = ui, server = server)
Related videos on Youtube
Author by
Danish Zahid Malik
Updated on July 09, 2022Comments
-
Danish Zahid Malik almost 2 years
Hey i've just started working with R and Shiny. Trying to make a dashboard which displays different charts. As there is a lot of data to process, the plots or charts take some time to display after the action button is clicked i.e. "launch Campaign' Is there anyway i could show a spinning wheel or a loading icon in the white blank space, while this delay takes place? Dashboard with blank space on the right
-
Tonio Liebrand about 6 yearsHave you looked into here: shiny.rstudio.com/gallery/progress-bar-example.html ?
-
PSzczesny about 6 yearsThis has been already covered here: stackoverflow.com/questions/26004302/shiny-app-busy-indicator Basically you are looking for conditionalPanel in the first approximation.
-
PSzczesny about 6 yearsPossible duplicate of shiny app busy indicator
-
-
agent18 almost 5 yearsworks with textOutput as well. Great Stuff!
textOutput("t1")%>% withSpinner(color="#0dc5c1")
-
bodega18 over 2 yearsdreamrs.github.io/shinybusy IMO this is the easiest solution. Requires only one line of code