Progress: 多个进度条

创建于 2015-12-27  ·  7评论  ·  资料来源: r-lib/progress

会很好。 例如,如果进度条中有一个进度条......

最有用的评论

是的,正是。

我认为我们可以拥有一个全局堆栈的活动进度条。 在仅支持一个进度条的显示中,最显着的是 R Studio,我们将只显示顶部的一个,并可能显示其余的摘要。 例如对于三个级别:

85% | 34% | 50% [====================--------------------] ETA 13s

对于具有适当 ANSI 支持的终端,我们可以一次显示所有进度条(好吧,最多 10-20 个)。

所有7条评论

如果这样的事情有效,那就太好了:

pb1 <- progress_bar$new(total = 100)
for(i in 1:100){
  pb1$tick()
  pb2 <- progress_bar$new(total = 100)  
  for(j in 1:100){
    pb2$tick()
    Sys.sleep(1/1000)
    }
}

是的,正是。

我认为我们可以拥有一个全局堆栈的活动进度条。 在仅支持一个进度条的显示中,最显着的是 R Studio,我们将只显示顶部的一个,并可能显示其余的摘要。 例如对于三个级别:

85% | 34% | 50% [====================--------------------] ETA 13s

对于具有适当 ANSI 支持的终端,我们可以一次显示所有进度条(好吧,最多 10-20 个)。

我认为您可以在一行上支持 3 或 4 个同时进度条的一种方法是使用unicode 盲文模式

[⠿⠿⠟⠛⠛⠛⠒⠒⠒⠒       ]

@jimhester很聪明,但不幸的是,它也非常有限。

我构建的以下功能非常粗糙,但为什么不能像下面这样? 我很想将它放在带有进度选项的进度样式包中。

重新创建数据:

df <- data.frame(samplecol=c(1:50),
           file=c(1:50))
df$file <- paste0("file",df$file)

x <-function() {Sys.sleep(1/100)}
y <-function() {Sys.sleep(1/20)}

功能:

doubleProgressBar <- function(x, y) {
    for (i in 1:100) {
      x()
        for(j in 1:50){ 
          y()
          cat("\014")
          writeLines(c(paste0("OVERALL PROGRESS:", i,"%"," [",paste(rep("+",round((i/5))), collapse="")), 
                      paste0("FILE%: ",(j*2),"%"," CURRENTLY LOADING FILE: ",df[j,"file"], " [",paste(rep("+",round((j/2.5))), collapse=""))))
        }
      cat("\014")
      writeLines(c(paste0("OVERALL PROGRESS:", i,"%"," [",paste(rep("+",round((i/5))), collapse="")), 
                   paste0("FILE%: ",(j*2),"%"," CURRENTLY LOADING FILE: ",df[j,"file"], " [",paste(rep("+",round((j/2.5))), collapse=""))))
    }
}

###Does what I want, but with crude text entry. 
###Would be nice to have a package with nice entry have a double bar
doubleProgressBar(x,y)

如果所有 R 终端都支持ANSI 转义序列以将光标向上移动,不幸的是某些(特别是默认的 Windows 终端)不支持,那么这将很容易做到,因此您只能使用\r清除最后一行文本

你能添加一个选项来使用完整的 ANSI 转义序列吗?

或者,您可以拆分进度条之间的水平空间...

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Spatial-R picture Spatial-R  ·  3评论

garrettgman picture garrettgman  ·  7评论

unDocUMeantIt picture unDocUMeantIt  ·  11评论

stratosfmos picture stratosfmos  ·  71评论

diegogarcilazo picture diegogarcilazo  ·  15评论