Si desea ver sus nuevos datos representados sustituyen a los antiguos datos representados, pero mantener los mismos límites de los ejes, se puede actualice los valores xey de los datos graficados usando el comando SET dentro de su ciclo. Aquí está un ejemplo sencillo:
hAxes = axes; %# Create a set of axes
hData = plot(hAxes,nan,nan,'*'); %# Initialize a plot object (NaN values will
%# keep it from being displayed for now)
axis(hAxes,[0 2 0 4]); %# Fix your axes limits, with x going from 0
%# to 2 and y going from 0 to 4
for iLoop = 1:200 %# Loop 100 times
set(hData,'XData',2*rand,... %# Set the XData and YData of your plot object
'YData',4*rand); %# to random values in the axes range
drawnow %# Force the graphics to update
end
Al ejecutar lo anterior, verá un salto asterisco en torno a los ejes de un par de segundos, pero los límites ejes permanecerá fijo. No tiene que usar el comando HOLD porque solo está actualizando un objeto de trazado existente, sin agregar uno nuevo. Incluso si los nuevos datos se extienden más allá de los límites de los ejes, los límites no cambiarán.
Es posible que también desee leer sobre la función no documentada 'LimInclude': http://undocumentedmatlab.com/blog/plot-liminclude-properties/ – Amro