Hinzufügen einer Legende zu einem Diagramm
Mit Legenden können auf einem Diagramm eingezeichnete Datenserien beschriftet werden. In diesen Beispielen ist dargestellt, wie sich eine Legende erstellen und einige übliche Änderungen vornehmen lassen, wie Ändern der Position, Einstellen der Schriftgröße und Hinzufügen eines Titels. Sie können zudem eine Legende mit mehreren Spalten oder eine Legende für eine Teilmenge der im Diagramm dargestellten Daten erstellen.
Erstellen einer einfachen Legende
Erstellen Sie eine Abbildung mit einem Liniendiagramm und einem Streudiagramm. Fügen Sie jedem Diagramm eine Legende mit einer Beschreibung hinzu. Legen Sie die Beschriftungen der Legende als Eingaben für die legend
-Funktion fest.
figure x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend('sin(x/2)','2016')
Festlegen von Beschriftungen mittels DisplayName
Alternativ können Sie die Legendenbeschriftungen mithilfe der Eigenschaft DisplayName
festlegen. Legen Sie die Eigenschaft DisplayName
als Namenswert-Paar fest, wenn Sie die Diagrammfunktionen aufrufen. Rufen Sie daraufhin den Befehl legend
auf, um die Legende zu erstellen.
x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1,'DisplayName','sin(x/2)') hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled','DisplayName','2016') legend
Legenden werden automatisch aktualisiert, wenn Sie eine Datenserie hinzufügen oder löschen. Wenn Sie den Achsen weitere Daten hinzufügen, können Sie die Beschriftungen über die Eigenschaft DisplayName
festlegen. Wenn Sie die Eigenschaft DisplayName
nicht festlegen, verwendet die Legende eine Beschriftung der Form 'dataN'
.
Fügen Sie ein Streudiagramm für 2017-Daten hinzu.
x3 = [0 1 2 3 4 5]; y3 = [0.1 0.4 0.6 0.9 0.8 0.7]; scatter(x3,y3,'filled','DisplayName','2017') drawnow hold off
Anpassen der Legendendarstellung
Mit der Funktion legend
wird ein Legend
-Objekt erstellt. Legend
-Objekte weisen Eigenschaften auf, mit denen Sie das Erscheinungsbild der Legende anpassen können, darunter Location
, Orientation
, FontSize
und Title
. Eine vollständige Liste finden Sie unter Legend Properties.
Es gibt zwei Methoden zum Festlegen von Eigenschaften:
Sie können die Namenswert-Paare mit dem
legend
-Befehl verwenden. Wenn Sie Namenswert-Paare verwenden, müssen Sie in den meisten Fällen die Beschriftungen in einem Zellen-Array wie z. B.legend({'label1','label2'},'FontSize',14)
festlegen.Sie können das Objekt
Legend
verwenden. Sie können dasLegend
-Objekt als Ausgabeargument der Funktionlegend
ausgeben, wie z. B.lgd = legend
. Daraufhin können Sielgd
mit Punktnotation verwenden, um Eigenschaften wielgd.FontSize = 14
festzulegen.
Position und Ausrichtung der Legende
Legen Sie Position und Ausrichtung der Legende durch das Festlegen der Eigenschaften Location
und Orientation
mittels Namenswert-Paaren fest. Sie können die Position auf eine der acht Himmels- bzw. Nebenhimmelsrichtungen setzen, in diesem Fall 'northwest'
. Sie können die Ausrichtung auf 'vertical'
(Standard) oder wie in diesem Fall auf 'horizontal'
festlegen. Legen Sie die Beschriftungen in einem Zellen-Array fest.
x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')
Schriftgröße und Titel der Legende
Legen Sie die Eigenschaften FontSize
und Title
fest, um Schriftgröße und Titel der Legende anzugeben. Weisen Sie das Legend
-Objekt der Variablen lgd
zu. Daraufhin können Sie lgd
verwenden, um die Eigenschaften mithilfe von Punktnotation zu verändern.
x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1,'DisplayName','sin(x/2)') hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled','DisplayName','2016') hold off lgd = legend; lgd.FontSize = 14; lgd.Title.String = '2016 Data';
Legende mit mehreren Spalten
Erstellen Sie ein Diagramm mit sechs Liniendiagrammen. Fügen Sie eine Legende mit zwei Spalten hinzu, indem Sie die Eigenschaft NumColumns
auf 2 setzen.
x = linspace(0,10); y1 = sin(x); y2 = sin(0.9*x); y3 = sin(0.8*x); y4 = sin(0.7*x); y5 = sin(0.6*x); y6 = sin(0.5*x); plot(x,y1,'DisplayName','sin(x)') hold on plot(x,y2,'DisplayName','sin(0.9x)') plot(x,y3,'DisplayName','sin(0.8x)') plot(x,y4,'DisplayName','sin(0.7x)') plot(x,y5,'DisplayName','sin(0.6x)') plot(x,y6,'DisplayName','sin(0.5x)') hold off lgd = legend; lgd.NumColumns = 2;
Aufnehmen einer Teilmenge des Diagramms in die Legende
Kombinieren Sie zwei Balkendiagramme und ein Streudiagramm. Erstellen Sie eine Legende, die nur die Balkendiagramme umfasst, indem Sie die Bar
-Objekte b1
und b2
als erstes Eingabeargument für die Funktion legend
angeben. Geben Sie die Objekte in einem Vektor an.
x = [1 2 3 4 5]; y1 = [.2 .4 .6 .4 .2]; b1 = bar(x,y1); hold on y2 = [.1 .3 .5 .3 .1]; b2 = bar(x,y2,'BarWidth',0.5); y3 = [.2 .4 .6 .4 .2]; s = scatter(x,y3,'filled'); hold off legend([b1 b2],'Bar Chart 1','Bar Chart 2')