Main Content

hold

Mantenere il grafico corrente quando si aggiungono nuovi grafici

Descrizione

esempio

hold on mantiene i grafici negli assi correnti in modo che i nuovi grafici aggiunti agli assi non cancellino quelli esistenti. I nuovi grafici utilizzano i colori e gli stili di linea successivi in base alle proprietà ColorOrder e LineStyleOrder degli assi. MATLAB® regola i limiti degli assi, i segni di spunta e le etichette di spunta per visualizzare l’intervallo completo dei dati. Se gli assi non sono presenti, il comando hold li crea.

esempio

hold off imposta lo stato hold su off, in modo che i nuovi grafici aggiunti agli assi cancellino quelli esistenti e resettino tutte le proprietà degli assi. Il grafico successivo aggiunto agli assi utilizza il primo colore e stile di linea in base alle proprietà ColorOrder e LineStyleOrder degli assi. Questa opzione è il comportamento predefinito.

hold all equivale a hold on. Questa sintassi sarà rimossa in una release futura. Utilizzare invece hold on.

hold alterna lo stato hold tra on e off.

esempio

hold(ax,___) imposta lo stato hold per gli assi specificati da ax anziché per gli assi correnti. Specificare ax prima di tutti gli altri argomenti in una qualsiasi delle sintassi precedenti. Utilizzare le virgolette singole per gli input 'on' e 'off', come hold(ax,'on').

Esempi

comprimi tutto

Creare un grafico a linee. Utilizzare hold on per aggiungere un secondo grafico a linee senza cancellare il grafico a linee esistente. Il nuovo grafico utilizza il colore e lo stile di linea successivo in base alle proprietà ColorOrder e LineStyleOrder degli assi. Quindi reimpostare lo stato hold su off.

x = linspace(-pi,pi);
y1 = sin(x);
plot(x,y1)

hold on
y2 = cos(x);
plot(x,y2)
hold off

Figure contains an axes object. The axes object contains 2 objects of type line.

Quanto lo stato hold è impostato su off, i nuovi grafici cancellano quelli esistenti. I nuovi grafici partono dall'inizio dell'ordine dei colori e degli stili di linea.

y3 = sin(2*x);
plot(x,y3)

Figure contains an axes object. The axes object contains an object of type line.

A partire dalla release R2019b, è possibile visualizzare la disposizione a piastrelle dei grafici utilizzando le funzioni tiledlayout e nexttile. Chiamare la funzione tiledlayout per creare il layout a piastrelle di un grafico 2x1. Chiamare la funzione nexttile per creare gli oggetti assi ax1 e ax2. Tracciare un grafico a onda sinusoidale su ciascun asse.

x = linspace(0,10);
y1 = sin(x);
y2 = cos(x);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
plot(ax1,x,y1)

% Bottom plot
ax2 = nexttile;
plot(ax2,x,y2)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Aggiungere una seconda onda sinusoidale agli assi superiori.

hold(ax1,'on')
y3 = sin(2*x);
plot(ax1,x,y3)
hold(ax1,'off')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type line. Axes object 2 contains an object of type line.

Creare il layout a piastrelle di un grafico 1x2. Chiamare la funzione nexttile per creare due oggetti assi e tracciarli sugli assi.

t = tiledlayout(1,2);
ax1 = nexttile;
ax2 = nexttile;
plot(ax1,[0 1 0 1])
scatter(ax2,rand(1,10),rand(1,10),'filled')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type scatter.

Impostare lo stato hold per entrambi gli assi su 'on'. Quindi visualizzare i dati aggiuntivi in ciascun grafico.

hold([ax1 ax2],'on')
plot(ax1,[.5 .2 .5 .2])
scatter(ax2,rand(1,10),rand(1,10),'filled')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type line. Axes object 2 contains 2 objects of type scatter.

Argomenti di input

comprimi tutto

Assi di destinazione, specificate in uno dei seguenti modi:

  • Qualsiasi tipo di oggetto asse: un oggetto Axes, PolarAxes o GeographicAxes.

  • Un array di oggetti asse che appartengono alla stessa classe. Per determinare la classe, utilizzare la funzione class.

Se non si specificano gli assi, hold imposta lo stato hold per gli assi correnti.

Suggerimenti

  • Utilizzare la funzione ishold per testare lo stato hold.

Algoritmi

La funzione hold imposta queste proprietà:

  • Proprietà degli assi NextPlot: imposta questa proprietà dell’oggetto associato Axes, PolarAxes o GeographicAxes su 'add' o 'replace'.

  • Proprietà della figura NextPlot: imposta questa proprietà dell’oggetto Figure su 'add'.

Cronologia versioni

Introduzione prima di R2006a