File Exchange

image thumbnail

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

version 1.0.0.0 (1.73 KB) by Petr Posik
A small utility encapsulating the call to 'ishold', 'hold on' and a restortion of the hold state.

1 Download

Updated 03 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 (2020). 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 .

Comments and Ratings (2)

Matt J

Nice, but supporting a non-default axes handle input argument would make it even better,

h = savehold(axHandle)

John D'Errico

I'll admit, this is a simple thing. Nothing dramatic here, with only a couple of lines of simple code. But it might make your own code just a wee bit simpler to write and to read later on. And simple, modular code is always good. If holds on plots are something you do often, then you may like this utility.

I like the help. An H1 line, etc. The 5 rating is a tip of my hat to the author.

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: Take & Restore hold

Community Treasure Hunt

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

Start Hunting!