Ajouter une légende à un graphe
Les légendes sont utiles pour étiqueter des séries de données tracées sur un graphe. Ces exemples montrent comment créer une légende et faire des modifications courantes, notamment changer son emplacement, définir sa taille de police et ajouter un titre. Vous pouvez également créer une légende avec plusieurs colonnes ou créer une légende pour un sous-ensemble de données tracées.
Créer une légende simple
Créez une figure avec un graphique linéaire et un graphique de dispersion. Ajoutez une légende avec une description pour chaque graphique. Spécifiez les étiquettes de la légende en tant qu’entrées de la fonction legend
.
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')
Spécifier des étiquettes avec DisplayName
Vous pouvez également spécifier les étiquettes de la légende au moyen de la propriété DisplayName
. Définissez la propriété DisplayName
en tant que paire nom-valeur lors de l’appel des fonctions de tracé. Ensuite, appelez la commande legend
pour créer la légende.
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
Les légendes se mettent automatiquement à jour lorsque vous ajoutez ou supprimez une série de données. Si vous ajoutez d’autres données aux axes, utilisez la propriété DisplayName
pour spécifier les étiquettes. Si vous ne définissez pas la propriété DisplayName
, la légende utilise alors une étiquette de forme 'dataN'
.
Ajoutez un graphique de dispersion pour les données de 2017.
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
Personnaliser l’apparence des légendes
La fonction legend
crée un objet Legend
. Les objets Legend
ont des propriétés qui permettent de personnaliser l’apparence de la légende, telles que les propriétés Location
, Orientation
, FontSize
et Title
. Pour obtenir la liste complète, consultez Legend Properties.
Il existe deux façons de définir les propriétés :
Utiliser des paires nom-valeur dans la commande
legend
. Dans la plupart des cas, quand vous utilisez des paires nom-valeur, vous devez spécifier les étiquettes dans un cell array, telles quelegend({'label1','label2'},'FontSize',14)
.Utiliser l’objet
Legend
. Vous pouvez renvoyer l’objetLegend
en tant qu’argument de sortie de la fonctionlegend
, tel quelgd = legend
. Ensuite, utilisezlgd
avec la notation pointée pour définir les propriétés, telles quelgd.FontSize = 14
.
Emplacement et orientation des légendes
Spécifiez l’emplacement et l’orientation des légendes en définissant les propriétés Location
et Orientation
en tant que paires nom-valeur. Définissez l’emplacement sur l’une des huit directions cardinales ou intercardinales, soit 'northwest'
dans cet exemple. Définissez l’orientation sur 'vertical'
(le paramètre par défaut) ou 'horizontal'
, comme dans ce cas. Spécifiez les étiquettes dans un cell array.
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')
Taille de police et titre des légendes
Spécifiez la taille de police et le titre des légendes en définissant les propriétés FontSize
et Title
. Attribuez l’objet Legend
à la variable lgd
. Ensuite, utilisez lgd
pour modifier les propriétés au moyen de la notation pointée.
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';
Légendes avec plusieurs colonnes
Créez un diagramme avec six tracés linéaires. Ajoutez une légende avec deux colonnes en définissant la propriété NumColumns
sur 2.
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;
Inclure un sous-ensemble de diagrammes dans des légendes
Combinez deux diagrammes à barres et un graphique de dispersion. Créez une légende qui inclut seulement les diagrammes à barres en spécifiant les objets Bar
, b1
et b2
, en tant que premier argument de la fonction legend
. Spécifiez les objets dans un vecteur.
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')