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