Progress: Beberapa bilah kemajuan

Dibuat pada 27 Des 2015  ·  7Komentar  ·  Sumber: r-lib/progress

Akan sangat bagus. Misalnya jika ada bilah kemajuan di dalam bilah kemajuan ...

Komentar yang paling membantu

Ya, tepat sekali.

Saya pikir kita dapat memiliki setumpuk global progress bar aktif. Dalam tampilan yang hanya mendukung satu bilah kemajuan, terutama R Studio, kami hanya akan menampilkan yang teratas, dan berpotensi menampilkan ringkasan untuk sisanya. Misalnya untuk tiga level:

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

Untuk terminal dengan dukungan ANSI yang tepat, kami dapat menampilkan semua bilah kemajuan (well, hingga 10-20) sekaligus.

Semua 7 komentar

Akan lebih baik jika sesuatu seperti ini berhasil:

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)
    }
}

Ya, tepat sekali.

Saya pikir kita dapat memiliki setumpuk global progress bar aktif. Dalam tampilan yang hanya mendukung satu bilah kemajuan, terutama R Studio, kami hanya akan menampilkan yang teratas, dan berpotensi menampilkan ringkasan untuk sisanya. Misalnya untuk tiga level:

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

Untuk terminal dengan dukungan ANSI yang tepat, kami dapat menampilkan semua bilah kemajuan (well, hingga 10-20) sekaligus.

Saya pikir salah satu cara Anda dapat mendukung 3 atau 4 bilah kemajuan simultan pada satu baris adalah menggunakan pola braille unicode

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

@jimhester yang pintar, tetapi juga sangat terbatas, sayangnya.

Fungsi di bawah yang saya buat sangat kasar, tetapi mengapa sesuatu seperti di bawah ini tidak mungkin? Saya ingin memilikinya dalam paket gaya kemajuan dengan opsi kemajuan.

Buat ulang data:

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)}

Fungsi:

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)

Ini akan mudah dilakukan jika semua terminal R mendukung urutan pelarian ANSI untuk memindahkan kursor ke atas, sayangnya beberapa (terutama terminal windows default) tidak, jadi Anda dibatasi hanya menghapus baris teks terakhir dengan \r .

Bisakah Anda menambahkan opsi untuk menggunakan urutan pelarian ANSI lengkap?

Atau, Anda dapat membagi ruang horizontal di antara bilah kemajuan ...

Apakah halaman ini membantu?
0 / 5 - 0 peringkat