Contenu principal

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

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

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

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

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)

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

À 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’objet Text en tant qu’argument de sortie de la fonction text et l’affecter à une variable, par exemple t. Ensuite, utilisez la notation pointée pour définir les propriétés, telles que t.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;

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

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)

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

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)

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

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

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

Voir aussi

| | | | |

Rubriques