Hinzufügen von Text zu einem Diagramm
Dieses Beispiel zeigt, wie Sie Text zu einem Diagramm hinzufügen, die Position und Größe des Textes steuern und mehrzeiligen Text erstellen können.
Textposition
Mithilfe der Funktion text
können Sie einen Text neben einem bestimmten Datenpunkt hinzufügen. Fügen Sie den Text in diesem Fall zum Punkt hinzu. Die ersten zwei Eingabeargumente für die Funktion text
geben die Position an. Das dritte Argument gibt den Text an.
Standardmäßig unterstützt Text einen Teil des TeX-Markups. Verwenden Sie das TeX-Markup \pi
für den griechischen Buchstaben . Zeigen Sie einen Pfeil nach links an, indem Sie das TeX-Markup \leftarrow
einfügen. Eine vollständige Markup-Liste finden Sie unter Griechische Buchstaben und Sonderzeichen in Diagrammtext.
x = linspace(0,10,50);
y = sin(x);
plot(x,y)
txt = '\leftarrow sin(\pi) = 0';
text(pi,sin(pi),txt)
Textausrichtung
Standardmäßig liegt der angegebene Datenpunkt links neben dem Text. Richten Sie den Datenpunkt an der rechten Seite des Textes aus, indem Sie die Eigenschaft HorizontalAlignment
auf 'right'
festlegen. Verwenden Sie anstelle eines Pfeils nach links einen Pfeil nach rechts.
x = linspace(0,10,50); y = sin(x); plot(x,y) txt = 'sin(\pi) = 0 \rightarrow'; text(pi,sin(pi),txt,'HorizontalAlignment','right')
Schriftgröße
Geben Sie die Schriftgröße für den Text an, indem Sie die Eigenschaft FontSize
als Name-Wert-Paar-Argument für die Funktion text
festlegen. Sie können einen ähnlichen Ansatz nutzen, um die Schriftgröße zu ändern, wenn Sie die Funktionen title
, xlabel
, ylabel
und legend
verwenden.
x = linspace(0,10,50); y = sin(x); plot(x,y) txt = '\leftarrow sin(\pi) = 0'; text(pi,sin(pi),txt,'FontSize',14)
Alternativ können Sie ab Version R2022a die Schriftgröße des Achsentexts mithilfe der fontsize
-Funktion ändern.
Festlegen von Texteigenschaften
Mit der Textfunktion wird ein Text-Objekt erstellt. Text
-Objekte weisen Eigenschaften auf, mit denen Sie das Erscheinungsbild des Textes anpassen können, darunter HorizontalAlignment
und FontSize
.
Es gibt zwei Methoden zum Festlegen von Eigenschaften:
Sie können Name-Wert-Paare im Befehl
text
verwenden, wie zum Beispiel'FontSize',14
.Sie können das Objekt
Text
verwenden. Sie können dasText
-Objekt als Ausgabeargument der Funktiontext
zurückgeben und es einer Variablen zuweisen, wie zum Beispielt
. Danach können Sie die Punktnotation verwenden, um Eigenschaften festzulegen, wie zum Beispielt.FontSize = 14
.
Ändern Sie in diesem Beispiel die Schriftgröße nicht mithilfe eines Name-Wert-Paars, sondern mithilfe der Punktnotation.
x = linspace(0,10,50);
y = sin(x);
plot(x,y)
txt = '\leftarrow sin(\pi) = 0';
t = text(pi,sin(pi),txt)
t = Text (\leftarrow sin(\pi) = 0) with properties: String: '\leftarrow sin(\pi) = 0' FontSize: 10 FontWeight: 'normal' FontName: 'Helvetica' Color: [0.1294 0.1294 0.1294] HorizontalAlignment: 'left' Position: [3.1416 1.2246e-16 0] Units: 'data' Show all properties
t.FontSize = 14;
Mehrzeiliger Text
Um einen Text über mehrere Zeilen anzuzeigen, können Sie ein Zellenarray mit Zeichenvektoren verwenden. Jedes Element des Zellenarrays ist eine Textzeile. Zeigen Sie in diesem Beispiel einen Titel mit zwei Zeilen an. Sie können einen ähnlichen Ansatz nutzen, um mit den Funktionen title
, xlabel
, ylabel
und legend
einen mehrzeiligen Text anzuzeigen.
x = linspace(0,10,50); y = sin(x); plot(x,y) txt = {'Plotted Data:','y = sin(x)'}; text(4,0.5,txt)
Text mit Variablenwert
Sie können einen Variablenwert in einen Text einfügen, indem Sie die Funktion num2str
nutzen, um die Zahl in Text zu konvertieren. Berechnen Sie in diesem Beispiel den durchschnittlichen y-Wert und fügen diesen Wert in den Titel ein. Sie können einen ähnlichen Ansatz nutzen, um mit den Funktionen title
, xlabel
, ylabel
und legend
einen Variablenwert einzufügen.
x = linspace(0,10,50); y = sin(x); plot(x,y) avg = mean(y); txt = ['Average height: ' num2str(avg) ' units']; text(4,0.5,txt)
Text außerhalb von Achsen
Verwenden Sie die Funktion annotation
anstelle der Funktion text
, um an einer beliebigen Stelle in der Abbildung einen Text hinzuzufügen. Das erste Eingabeargument gibt den Anmerkungstyp an. Das zweite Eingabeargument gibt die Position der Anmerkung in Einheiten an, die bezogen auf die Abbildung normalisiert sind. Entfernen Sie den Rahmen des Textfeldes, indem Sie die Eigenschaft EdgeColor
auf 'none'
festlegen. Weitere Informationen zu Textfeldanmerkungen finden Sie im Abschnitt zur Funktion annotation
.
x = linspace(0,10,50); y = sin(x); plot(x,y) annotation('textbox',[.9 .5 .1 .2], ... 'String','Text outside the axes','EdgeColor','none')
Siehe auch
text
| title
| xlabel
| ylabel
| annotation
| fontsize