savehold: Run the 'hold on' command and save its state for possible restoration

A small utility encapsulating the call to 'ishold', 'hold on' and a restortion of the hold state.
492 Downloads
Updated 3 Feb 2010

View License

Assume we have axes inside a figure with some plots already there. We want to add some plots and then restore the state of hold (if it was 'on' before, we want it to stay 'on' after; if it was 'off' before, we want to set it back to 'off').

It can be done by the following commands:

>> % Commands plotting something and setting 'hold on' or 'hold off'
>> % Now, we want to add some plots
>> washold = ishold; % Get the 'state of hold' for the current axes
>> hold on; % Set the 'hold' property to 'on'
>> plot(something);
>> plot(something different);
>> if ~washold, hold off; end % Reset the state of hold if needed

With SAVEHOLD, the above code can be simplified a bit to:

>> % Commands plotting something and setting 'hold on' or 'hold off'
>> % Now, we want to add some plots
>> h = savehold();
>> plot(something);
>> plot(something different);
>> h.restore();

Cite As

Petr Posik (2024). savehold: Run the 'hold on' command and save its state for possible restoration (https://www.mathworks.com/matlabcentral/fileexchange/26574-savehold-run-the-hold-on-command-and-save-its-state-for-possible-restoration), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Specifying Target for Graphics Output in Help Center and MATLAB Answers
Acknowledgements

Inspired: Take & Restore hold

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0