Hauptinhalt

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 (π,sin(π)) 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)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

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

Figure contains an axes object. The axes object contains 2 objects of type line, text.

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)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

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 das Text-Objekt als Ausgabeargument der Funktion text zurückgeben und es einer Variablen zuweisen, wie zum Beispiel t. Danach können Sie die Punktnotation verwenden, um Eigenschaften festzulegen, wie zum Beispiel t.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;

Figure contains an axes object. The axes object contains 2 objects of type line, text.

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)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

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)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

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

Figure contains an axes object. The axes object contains an object of type line.

Siehe auch

| | | | |

Themen