MATLAB: How to apply “hold” to some but not all plot objects

hold

Is there a way to apply "hold on" to some plot objects, but to apply "hold off" to other objects in the same plot?
The example below plots a pcolor object then several lines. I want the pcolor object to remain plotted as if it were "hold on", but as each new line is plotted, I want the old line to disappear, as if the lines were "hold off". (At the time I wrote this, I thought deleting the line handle h2 was not an option: the real code is buried in a GUI currentpoint function which seems to prevent me from accessing h2.)
% Make an example plot
figure;
p = peaks; % Get 'peaks' data which comes with Matlab
[nY, nX] = size(peaks);
x = 1:nX; y = 1:nY;
h1 = pcolor(x, y, peaks); % Want pcolor object to remain
shading flat;
hold on; % Applies to all plotted objects
title('Wish we could hold pcolor but not lines')
% Plot several lines over top of pcolor plot
nLine = 10; % Number of lines to plot
for iLine = 1:(nLine)
h2 = plot(rand(1,10)*nX, rand(1,10)*nY, 'ko-');
% Want 'old' h2 to disappear when 'new' h2 plotted
pause(1); % Allow user to see lines being plotted
end

Best Answer

Sorry, hold is per axes. But that means that you could put the pcolor up in a different axes at the same position
For this sort of work a better approach is to update the xdata and ydata properties of the line object instead of creating and deleting objects all the time.