搜索
查看: 2080|回复: 0

R的shiny网页里面添加进度条

[复制链接]

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2017-3-28 09:14:22 | 显示全部楼层 |阅读模式
用shiny做的网页一般是交互式的,根据用户的需求在后台做不同的R运算,既然是R运算,那肯定快不到哪里去。

有些耗时10s+,用户很难理解,还以为网页宕掉了。

所以加上进度条,是一个非常好的应对方案,虽然不美观。

R的shiny网页里面添加进度条实现起来非常容易,withProgress/incProgress/setProgress

https://shiny.rstudio.com/refere ... t/withProgress.html
就3个函数而已

看看测试例子就明白了:
[AppleScript] 纯文本查看 复制代码
# Only run examples in interactive R sessions
if (interactive()) {
options(device.ask.default = FALSE)

ui <- fluidPage(
  plotOutput("plot")
)

server <- function(input, output) {
  output$plot <- renderPlot({
    withProgress(message = 'Calculation in progress',
                 detail = 'This may take a while...', value = 0, {
      for (i in 1:15) {
        incProgress(1/15)
        Sys.sleep(0.25)
      }
    })
    plot(cars)
  })
}

shinyApp(ui, server)
}


其它例子:http://shiny.rstudio.com/gallery/progress-bar-example.html
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-8-22 22:29 , Processed in 0.079632 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.