Da R2019b. Sostituisce Combine Multiple Plots (R2019a).
Apri live script
Questo esempio mostra come abbinare i grafici sugli stessi assi utilizzando la funzione hold
e come creare più assi in una figura utilizzando la funzione tiledlayout
.
Abbinamento di grafici sugli stessi assi
Per impostazione predefinita, i nuovi grafici eliminano i grafici esistenti e ripristinano le proprietà degli assi, come il titolo. Tuttavia, è possibile utilizzare il comando hold on
per abbinare più grafici sugli stessi assi. Ad esempio, tracciare due linee e un grafico a dispersione. Quindi reimpostare lo stato hold su off.
x = linspace(0,10,50);y1 = sin(x);plot(x,y1)title('Combine Plots')hold ony2 = sin(x/2);plot(x,y2)y3 = 2*sin(x);scatter(x,y3) hold off
Quando lo stato hold è impostato su on, i nuovi grafici non eliminano quelli esistenti e non ripristinano le proprietà degli assi, come il titolo o le etichette degli assi. I grafici alternano i colori e gli stili delle linee in base alle proprietà ColorOrder
e LineStyleOrder
degli assi. I limiti degli assi e i valori delle tacche potrebbero adattarsi ai nuovi dati.
Visualizzazione di più assi in una figura
È possibile visualizzare più assi in una singola figura utilizzando la funzione tiledlayout
. Questa funzione crea un layout a piastrelle di un grafico contenente una griglia invisibile di piastrelle sull'intera figura. Ciascuna piastrella può contenere un asse per la visualizzazione di un grafico. Dopo aver creato un layout, chiamare la funzione nexttile
per inserire un oggetto assi nel layout. Quindi, chiamare una funzione di plottaggio per tracciare il grafico sugli assi. Ad esempio, creare due grafici in un layout 2x1. Aggiungere un titolo a ciascun grafico.
x = linspace(0,10,50);y1 = sin(x);y2 = rand(50,1);tiledlayout(2,1)% Top plotnexttileplot(x,y1)title('Plot 1')% Bottom plotnexttilescatter(x,y2)title('Plot 2')
Creazione di grafici che si estendono su più righe o colonne
Per creare un grafico che si estende su più righe o colonne, specificare l'argomento span
quando si chiama nexttile
. Ad esempio, creare un layout 2x2. Tracciare nelle prime due piastrelle. Quindi, creare un grafico che si estende su una riga e due colonne.
x = linspace(0,10,50);y1 = sin(x);y2 = rand(50,1);% Top two plotstiledlayout(2,2)nexttileplot(x,y1)nexttilescatter(x,y2)% Plot that spansnexttile([1 2])y2 = rand(50,1);plot(x,y2)
Modifica dell'aspetto degli assi
Modificare l'aspetto degli assi impostando le proprietà di ciascun oggetto assi. È possibile ottenere l'oggetto assi chiamando la funzione nexttile
con un argomento di output. È inoltre possibile specificare l'oggetto assi come primo argomento di input di una funzione grafica per garantire che la funzione punti agli assi corretti.
Ad esempio, creare due grafici e assegnare gli oggetti assi alle variabili ax1
e ax2
. Modificare la dimensione del carattere degli assi e il colore dell'asse x per il primo grafico. Aggiungere linee della griglia al secondo grafico.
x = linspace(0,10,50);y1 = sin(x);y2 = rand(50,1);tiledlayout(2,1)% Top plotax1 = nexttile;plot(ax1,x,y1)title(ax1,'Plot 1')ax1.FontSize = 14;ax1.XColor = 'red';% Bottom plotax2 = nexttile;scatter(ax2,x,y2)title(ax2,'Plot 2')grid(ax2,'on')
Controllo della spaziatura intorno alle piastrelle
È possibile controllare la spaziatura tra le piastrelle di un layout specificando le proprietà Padding
e TileSpacing
. Ad esempio, visualizzare quattro grafici in un layout 2x2.
x = linspace(0,30);y1 = sin(x);y2 = sin(x/2);y3 = sin(x/3);y4 = sin(x/4);% Create plotst = tiledlayout(2,2);nexttileplot(x,y1)nexttileplot(x,y2)nexttileplot(x,y3)nexttileplot(x,y4)
Ridurre la spaziatura lungo il perimetro del layout e intorno a ciascuna piastrella impostando le proprietà Padding
e TileSpacing
su 'compact'
.
t.Padding = 'compact';t.TileSpacing = 'compact';
Visualizzazione del titolo condiviso e delle etichette condivise degli assi
È possibile visualizzare un titolo condiviso e le etichette condivise degli assi in un layout. Creare un layout t
2x1. Quindi, visualizzare un grafico a linee e un grafico a stelo. Sincronizzare i limiti dell'asse x chiamando la funzione linkaxes
.
x1 = linspace(0,20,100);y1 = sin(x1);x2 = 3:17;y2 = rand(1,15);% Create plots.t = tiledlayout(2,1);ax1 = nexttile;plot(ax1,x1,y1)ax2 = nexttile;stem(ax2,x2,y2)% Link the axeslinkaxes([ax1,ax2],'x');
Aggiungere un titolo condiviso e le etichette condivise degli assi passando t
alle funzioni title
, xlabel
e ylabel
. Avvicinare i grafici rimuovendo le etichette delle tacche dell'asse x dal grafico superiore e impostando la proprietà TileSpacing
di t
su 'compact'
.
% Add shared title and axis labelstitle(t,'My Title')xlabel(t,'x-values')ylabel(t,'y-values')% Move plots closer togetherxticklabels(ax1,{})t.TileSpacing = 'compact';
Vedi anche
Funzioni
- tiledlayout | nexttile | title | hold
Argomenti complementari
- Creazione di un grafico con due assi y
- Definizione dei valori e delle etichette delle tacche sugli assi
Comando MATLAB
Hai fatto clic su un collegamento che corrisponde a questo comando MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB. I browser web non supportano i comandi MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Contact your local office