Ajouter du texte à un diagramme
Cet exemple montre comment ajouter du texte à un diagramme, contrôler la position et la taille du texte et créer du texte multiligne.
Position du texte
Ajoutez du texte à côté d’un point de données spécifique au moyen de la fonction text
. Dans ce cas, ajoutez du texte au point . Les deux premiers arguments d’entrée de la fonction text
spécifient la position. Le troisième argument spécifie le texte.
Par défaut, le texte supporte un sous-ensemble de balisage TeX. Utilisez la balise TeX \pi
pour la lettre grecque . Affichez une flèche pointant vers la gauche en incluant la balise TeX \leftarrow
. Pour obtenir la liste complète des balises, consultez Lettres grecques et caractères spéciaux dans le texte d’un diagramme.
x = linspace(0,10,50);
y = sin(x);
plot(x,y)
txt = '\leftarrow sin(\pi) = 0';
text(pi,sin(pi),txt)
Alignement du texte
Par défaut, le point de données spécifié est à gauche du texte. Alignez le point de données à droite du texte en spécifiant la propriété HorizontalAlignment
sur 'right'
. Utilisez une flèche pointant vers la droite plutôt que vers la gauche.
x = linspace(0,10,50); y = sin(x); plot(x,y) txt = 'sin(\pi) = 0 \rightarrow'; text(pi,sin(pi),txt,'HorizontalAlignment','right')
Taille de police
Spécifiez la taille de police du texte en définissant la propriété FontSize
en tant qu’argument de la paire nom-valeur de la fonction text
. Vous pouvez adopter une approche similaire pour changer la taille de police lorsque vous utilisez les fonctions title
, xlabel
, ylabel
ou legend
.
x = linspace(0,10,50); y = sin(x); plot(x,y) txt = '\leftarrow sin(\pi) = 0'; text(pi,sin(pi),txt,'FontSize',14)
À partir de la version R2022a, il est également possible de modifier la taille de police du texte des axes avec la fonction fontsize
.
Définition des propriétés du texte
La fonction de texte crée un objet Texte. Les objets Text
ont des propriétés qui permettent de personnaliser l’apparence du texte, telles que HorizontalAlignment
ou FontSize
.
Il existe deux façons de définir les propriétés :
Utiliser des paires nom-valeur dans la commande
text
, telles que'FontSize',14
.Utiliser l’objet
Text
. Vous pouvez renvoyer l’objetText
en tant qu’argument de sortie de la fonctiontext
et l’affecter à une variable, par exemplet
. Ensuite, utilisez la notation pointée pour définir les propriétés, telles quet.FontSize = 14
.
Pour cet exemple, modifiez la taille de police au moyen de la notation pointée plutôt que de la paire nom-valeur.
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;
Texte multiligne
Affichez du texte sur plusieurs lignes au moyen d’un cell array de vecteurs de caractères. Chaque élément du cell array est une ligne de texte. Pour cet exemple, affichez un titre avec deux lignes. Vous pouvez adopter une approche similaire pour afficher du texte multiligne avec les fonctions title
, xlabel
, ylabel
ou legend
.
x = linspace(0,10,50); y = sin(x); plot(x,y) txt = {'Plotted Data:','y = sin(x)'}; text(4,0.5,txt)
Texte contenant une valeur de variable
Insérez une valeur de variable dans le texte en utilisant la fonction num2str
pour convertir le nombre en texte. Pour cet exemple, calculez la valeur y moyenne et ajoutez-la au titre. Vous pouvez adopter une approche similaire pour inclure des valeurs de variable avec les fonctions title
, xlabel
, ylabel
ou legend
.
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)
Texte hors des axes
Ajoutez du texte n’importe où dans la figure en utilisant la fonction annotation
au lieu de la fonction text
. Le premier argument d’entrée spécifie le type d’annotation. Le deuxième argument spécifie la position de l’annotation en unités normalisées pour la figure. Supprimez la bordure de la zone de texte en définissant la propriété EdgeColor
sur 'none'
. Pour plus d’informations sur les annotations dans des zones de texte, consultez la fonction 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')
Voir aussi
text
| title
| xlabel
| ylabel
| annotation
| fontsize