File Exchange

image thumbnail

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

version 1.0 (1.73 KB) by

A small utility encapsulating the call to 'ishold', 'hold on' and a restortion of the hold state.



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();

Comments and Ratings (2)

Matt J

Matt J (view profile)

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

h = savehold(axHandle)

John D'Errico

John D'Errico (view profile)

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
MATLAB 7 (R14)

Inspired: Take & Restore hold

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today