How to apply "hold" to some but not all plot objects
Mostrar comentarios más antiguos
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
Respuesta aceptada
Más respuestas (1)
Categorías
Más información sobre Graphics Object Properties en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!