【发布时间】:2023-03-23 16:49:01
【问题描述】:
在加载其他数据时,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")
【问题讨论】:
-
从闪亮的 1.1 开始,您可以在使用期货加载附加数据的同时显示交互式内容。见here