Seit R2019b. Ersetzt Combine Multiple Plots (R2019a).
Live Script öffnen
Dieses Beispiel veranschaulicht, wie Sie verschiedene Diagramme mit der Funktion hold
auf denselben Achsen kombinieren und auf einer Abbildung mit der Funktion tiledlayout
mehrere Achsen erstellen können.
Kombinieren von Diagrammen auf denselben Achsen
Standardmäßig löschen neue Diagramme bestehende Diagramme und setzen Achseneigenschaften (z.B. den Titel) zurück. Sie können jedoch über den Befehl hold on
mehrere Diagramme auf denselben Achsen kombinieren. Erstellen Sie beispielsweise zwei Liniendiagramme und ein Streudiagramm. Setzen Sie daraufhin den Haltestatus auf aus.
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
Ist der Haltestatus aktiviert, löschen neue Diagramme nicht bestehende Diagramme und setzen keine Achseneigenschaften (z.B. Titel oder Achsenbeschriftungen) zurück. Die Diagramme wechseln gemäß den Eigenschaften ColorOrder
und LineStyleOrder
der Achsen durch die Farben und Linienstile. Die Achsengrenzwerte und Teilstrichwerte passen sich ggf. an die neuen Daten an.
Anzeigen mehrerer Achsen auf einer Abbildung
Mithilfe der Funktion tiledlayout
können Sie mehrere Achsen auf einer einzigen Abbildung darstellen. Diese Funktion erstellt ein gekacheltes Diagramm-Layout mit einem unsichtbaren Raster über der gesamten Abbildung. Jede Kachel kann Achsen zur Anzeige eines Diagramms enthalten. Rufen Sie nach der Erstellung eines Layouts die nexttile
-Funktion auf, um ein Achsenobjekt im Layout zu platzieren. Rufen Sie daraufhin eine Diagrammfunktion auf, um ein Diagramm entlang der Achsen zu erstellen. Erstellen Sie beispielsweise zwei Diagramme in einem 2x1-Layout. Fügen Sie jedem Diagramm einen Titel hinzu.
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')
Erstellen eines Diagramms über mehrere Zeilen oder Spalten
Um ein Diagramm über mehrere Zeilen oder Spalten hinweg zu erstellen, geben Sie beim Aufrufen von nexttile
das Argument span
an. Erstellen Sie beispielsweise ein 2x2-Layout. Erstellen Sie Diagramme in den ersten zwei Kacheln. Erstellen Sie daraufhin ein Diagramm über eine Zeile und zwei Spalten hinweg.
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)
Ändern der Achsendarstellung
Sie können die Achsendarstellung ändern, indem Sie die Eigenschaften der Achsenobjekte ändern. Sie können die Funktion nexttile
mit dem Ausgabeargument aufrufen, um das Achsenobjekt zu erhalten. Sie können das Achsenobjekt zudem als erstes Eingabeargument für eine Grafikfunktion angeben, um sicherzustellen, dass die Funktion die korrekten Achsen anzielt.
Sie können beispielsweise zwei Diagramme erstellen und die Achsenobjekte den Variablen ax1
und ax2
zuweisen. Ändern Sie die Schriftgröße der Achsen und die Farbe der x-Achse des ersten Diagramms. Fügen Sie dem zweiten Diagramm Rasterlinien hinzu.
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')
Regeln der Kachelabstände
Sie können die Abstände der Kacheln in einem Layout über die Eigenschaften Padding
und TileSpacing
regeln. Erstellen Sie zum Beispiel vier Diagramme in einem 2x2-Layout.
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)
Setzen Sie die Eigenschaften Padding
und TileSpacing
auf 'compact'
, um die Abstände um das Layout und jede Kachel zu reduzieren.
t.Padding = 'compact';t.TileSpacing = 'compact';
Anzeigen gemeinsamer Titel und Achsenbeschriftungen
Sie können in einem Layout gemeinsame Titel und gemeinsame Achsenbeschriftungen anzeigen. Erstellen Sie ein 2x1-Layout t
. Zeigen Sie daraufhin ein Liniendiagramm und ein Stamm-Blatt-Diagramm an. Rufen Sie die Funktion linkaxes
auf, um die Grenzwerte der x-Achse zu synchronisieren.
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');
Übergeben Sie t
den Funktionen title
, xlabel
und ylabel
, um einen gemeinsamen Titel und gemeinsame Achsenbeschriftungen hinzuzufügen. Bringen Sie die Diagramme näher zusammen, indem Sie die Teilstrich-Beschriftungen der x-Achse vom oberen Diagramm entfernen und die Eigenschaft TileSpacing
von t
auf 'compact'
setzen.
% 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';
Siehe auch
Funktionen
- tiledlayout | nexttile | title | hold
Verwandte Themen
- Erstellen eines Diagramms mit zwei y-Achsen
- Angeben von Achsen-Teilstrichwerten und Beschriftungen
MATLAB-Befehl
Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.
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