Main Content

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')

Figure contains an axes object. The axes object contains 2 objects of type line, scatter. These objects represent 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

Figure contains an axes object. The axes object contains 3 objects of type line, scatter. These objects represent sin(x/2), 2016, 2017.

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 das Legend-Objekt als Ausgabeargument der Funktion legend ausgeben, wie z. B. lgd = legend. Daraufhin können Sie lgd mit Punktnotation verwenden, um Eigenschaften wie lgd.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')

Figure contains an axes object. The axes object contains 2 objects of type line, scatter. These objects represent sin(x/2), 2016.

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';

Figure contains an axes object. The axes object contains 2 objects of type line, scatter. These objects represent sin(x/2), 2016.

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;

Figure contains an axes object. The axes object contains 6 objects of type line. These objects represent sin(x), sin(0.9x), sin(0.8x), sin(0.7x), sin(0.6x), sin(0.5x).

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')

Figure contains an axes object. The axes object contains 3 objects of type bar, scatter. These objects represent Bar Chart 1, Bar Chart 2.

Siehe auch

|