Se si desidera visualizzare i nuovi dati tracciati sostituiscono i vecchi dati tracciati, ma mantenere gli stessi assi limiti, si può aggiorna i valori xey dei dati tracciati usando il comando SET all'interno del tuo loop. Ecco un semplice esempio:
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
Quando si esegue quanto sopra, si vedrà un salto asterisco in giro per gli assi per un paio di secondi, ma i limiti assi rimane fissa. Non è necessario utilizzare il comando HOLD perché si sta semplicemente aggiornando un oggetto trama esistente, non aggiungendone uno nuovo. Anche se i nuovi dati si estendono oltre i limiti degli assi, i limiti non cambieranno.
Si potrebbe anche voler leggere la funzione non documentata 'LimInclude': http://undocumentedmatlab.com/blog/plot-liminclude-properties/ – Amro