Version 1.14 (8.67 KB) by Ben Tordoff
A new "shiny" progress-bar with multiple bars in a single window, time-estimates and more.
Updated 4 Aug 2020

View License

This function provides a new progress-bar (waitbar in MATLAB-speak) with the following features:
* Multiple bars in one window
* Robust to the window being closed
* Time-estimates for long-running tasks
* Completion percentage for long-running tasks
* Control of the color for each bar
* Textured bars (pointless, but nice)
* No need to keep/manage window handles
* Cancel tasks using a return flag or callback function
* "Busy mode" where a bar bounces back and forth
Note that this incurs roughly the same computational overhead as the built-in WAITBAR for low numbers of iterations and usually less overhead for high numbers of iterations.
Requires MATLAB R2009a or above.

Cite As

Ben Tordoff (2024). multiWaitbar (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2020a
Compatible with R2014b and later releases
Platform Compatibility
Windows macOS Linux
Find more on Dialog Boxes in Help Center and MATLAB Answers

Inspired: Hierax, waitbarTimeRemaining, CATT2Matlab

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Attempt to fix non-integer size values.
Add optional second output to return figure handle. This allows you to change things like the position, e.g.
>> [~,figh] = multiWaitbar(...);
>> figh.Position(1:2) = [100 100]
Use with caution!


Fix problems with 'cancel' after a bar has been renamed. Fix several errors with drawing when the window is too small.


Make bar updates and cleanup robust to the timer object having been externally deleted.

Updated license

* Fix bug with ResetCancel
* Improve compatibility with MATLAB R2014b

* Allow labels to be changed ('relabel')
* Use 'pchip' interpolation instead of 'cubic'

* Fix updating of percentage indication
* Fix ResetCancel command

* Don't update text labels if bar didn't move. This gives around a 20% speed-up in some cases.

* Add ability to set a bar into "busy" mode where it bounces back and forth

This update should hopefully fix some of the long-standing graphical glitches when moving or resizing the window. Thanks to Igor for testing this!

* Don't grab focus unless currently hidden

* Add ability to cancel using return flag or callback function
* Don't lose bar properties if the window gets closed
* Prevent the window being accidentally clobbered

Fix highlight markers at 10% intervals (were wrong way round)
Shade background

2010-05-12: Significant (~20%) speed improvement