【冰糖R语言】实现程序进度条:txtProgressBar() winProgressBar() tkProgressBar()

可使用R内置库 utli 实现文本进度条功能,内容涉及以下几个方法:

1、txtProgressBar(min = 0, max = 1, initial = 0, char = "=", width = NA, style = 1, file = "")

作用:用于在R控制台(或文件连接)中显示文本进度条;结束时应关闭进度条,此时输出换行符

min:默认0,进度条数值下限,必须小于 max

max:默认1,进度条数值上限,必须大于 min

initial:默认0,进度条的初始值或新值

char:默认"=",表示进度过程的符号

width:默认NA,进度条宽度,为char宽度的倍数;为NA时与 getOption("width") 适应

style:默认1,用于指定进度条样式种类;样式1和2仅显示 char 组成的线,区别在于样式2每次重画一条线,在有其他代码向控制台写入内容时有用;样式3使用竖线“|”指定进度区间,同时在进度条右侧显示百分进度

file:默认""(空),默认为控制台console,或一个打开的连接对象

另外,还需要通过setTxtProgessBar更新进度条值(需要传入txtProgressBar对象和数值作为参数),具体使用过程即结果如下所示:

假设实现一个一分钟计时功能:

【冰糖R语言】实现程序进度条:txtProgressBar() winProgressBar() tkProgressBar()_第1张图片

以上是本文进度条的建立,还可通过 winProgressBar、tkProgressBar 实现窗口进度条,用法存在一些差别:

2、winProgressBar(title = "R progress bar", label = "", min = 0, max = 1, initial = 0, width = 300)

建立一个 Windows 进度条窗口小部件,显示更新及其获取(仅使用于 Windows 系统);显示在屏幕中间;使用后应关闭,尽管R对象终止时会被垃圾回收;

title:默认"R progress bar",对话框窗口标题

label:默认""(空),对话框窗口标签

min:默认 0,进度条最小值

max:默认 1,进度条最大值

initial:默认 0,进度条初始值

width:默认 300,进度条宽度,单位像素;对话框宽度在此基础上再加40像素

【冰糖R语言】实现程序进度条:txtProgressBar() winProgressBar() tkProgressBar()_第2张图片

【冰糖R语言】实现程序进度条:txtProgressBar() winProgressBar() tkProgressBar()_第3张图片

注意:如果要在 setWinProgessBar 中显示label,应先在 winProgressBar 中初始化label,否则不显示更新;

3、tkProgressBar(title = "R progress bar", label = "", min = 0, max = 1, initial = 0, width = 300)

使用 tcltk 包实现进度条,即使用Tk脚本实现窗口进度条,可运行于Windows系统(要求Tk >= 8.5),默认显示于屏幕左上角;

参数使用同 winProgressBar;

【冰糖R语言】实现程序进度条:txtProgressBar() winProgressBar() tkProgressBar()_第4张图片

【冰糖R语言】实现程序进度条:txtProgressBar() winProgressBar() tkProgressBar()_第5张图片

注意:如果要在 setTkProgessBar 中显示label,不必先在 tkProgressBar 中初始化label;

你可能感兴趣的:(R,r语言)