在加载其他数据时,R Shiny是否有可能用“加载”消息替换图?我在我的应用程序中使用了一个大数据集,因为并非所有数据都是必需的,我将数据分成两部分,最初只加载一个较小的样本。
只有在下拉菜单中选择完整数据集时,才会加载完整的样本。由于加载需要一些时间并冻结绘图,我想显示一条消息,并仅在加载完成时显示绘图。例如:
library(shiny)
ui <- fluidPage(
selectInput("select_length","Length",choices = c("Short","Long"), multiple= FALSE, selected = "Short"),
plotOutput("hist")
)
server <- function(input, output){
rv <- reactiveValues()
rv$df <- c(1,2)
observeEvent(input$select_length,{
Sys.sleep(5)
df_new <- c(3,4)
rv$df <- c(rv$df, df_new)
},
once = TRUE,
ignoreInit = TRUE
)
output$hist <- renderPlot({
barplot(rv$df)
})
}
shinyApp(ui = ui, server = server)
我希望在加载附加数据时显示带有简单“加载”消息的情节,例如:
plot(c(0, 1), c(0, 1), ann = F, bty = 'n', type = 'n', xaxt = 'n', yaxt = 'n')
text(x = 0.5, y = 0.5, paste("Data is loading..."), cex = 1.6, col = "black")
答案 0 :(得分:1)
你可能会喜欢ShinyBS包。我之前在加载数据时已将它用于警报,并且效果很好(看起来也很奇特)。
这是用于创建警报的代码,它非常简单。用户可以退出它,或者您可以调用删除,如下所述。
服务器:
createAlert(session, 'upload_complete',title = 'Data Import Complete', content = 'You may continue to the other tabs', alertId = 'alert_delete', append = FALSE)
UI:
mainPanel(
....
bsAlert('upload_complete'),
)
要求删除(在服务器中)
closeAlert(session,'alert_delete')
答案 1 :(得分:0)
在加载其他数据时显示进度条是否可以接受? Shiny RStudio显示了一个显示情节的示例 - http://shiny.rstudio.com/gallery/progress-bar-example.html