Emplacement de la légende de Matplotlib

Emplacement de la légende de Matplotlib

Matplotlib est un excellent package de visualisation Python pour les graphiques de tableau 2D. La légende est une section qui définit les parties du graphique. Legend () est une méthode dans le package matplotlib qui est utilisé pour afficher une légende sur les graphiques. Le paramètre loc dans la méthode légende () peut être utilisé pour indiquer le placement de la légende. Loc = "meilleur" est la valeur par défaut (en haut à gauche). La légende est située à la position appropriée des figures par les paramètres meilleurs en haut à droite, en haut à gauche, en bas à gauche, à droite, en bas à droite, au centre gauche, au centre inférieur, au centre droit et au centre supérieur. Les légendes de l'intrigue fournissent un contexte visuel par la mise en œuvre du bien aux composants de l'intrigue.

Dans cet article, examinons comment personnaliser le positionnement et l'esthétique de la légende dans Matplotlib.

Emplacement de la légende

Le terme «loc» en tant que paramètre pourrait être utilisé pour indiquer le placement de la légende. Dans ce cas, nous voyons la méthode de la façon dont nous localisons la légende.

Importer Matplotlib.pypllot comme plt
Importer Numpy comme NP
Fig, ax_dict = plt.subplot_mosaic ([['top', 'top'], ['inférieur', 'blanc']],
vide_sentinel = "vierge")
ax_dict ['top'].tracé ([2, 3, 4], label = "label1")
ax_dict ['top'].tracé ([4, 3, 2], label = "label2")
ax_dict ['top'].légende (bbox_to_anchor = (0., 1.02, 1., .102), loc = 'inférieur à gauche',
ncol = 2, mode = "expand", borderaxespad = 0.)
AX_DICT ['Bottom'].tracé ([2, 3, 4], label = "label1")
AX_DICT ['Bottom'].tracé ([4, 3, 2], label = "label2")
AX_DICT ['Bottom'].légende (bbox_to_anchor = (1.05, 1),
loc = 'supérieur gauche', borderaxespad = 0.)
PLT.montrer()

La commande bbox_to_anchor nous permet beaucoup de flexibilité lorsqu'il s'agit de positionner manuellement les légendes. Si nous voulions que la légende des axes apparaisse dans le côté supérieur droit du modèle plutôt que la bordure des axes, nous fournissons simplement la position du coin et la position tridimensionnelle.

Une légende est insérée juste au-delà de la sous-intrigue, et il s'étend à. Nous utilisons également la boîte de délimitation qui a été fournie. Une légende est ajoutée à droite de la sous-intrigue plus petite dans le deuxième graphique.

Spécifiez les informations de localisation

Le plt.La fonction légende (), qui génère automatiquement une légende pour chaque point de tracé identifié, est la méthode la plus simple pour développer une légende. Cependant, il existe de nombreuses méthodes pour modifier une telle légende. Nous pouvons définir la position et désactiver le cadre.

Importer Matplotlib.pypllot comme plt
PLT.style.Utiliser («classique»)
Importer Numpy comme NP
x = np.lispace (0, 20, 2000)
Fig, ax = plt.sous-intrigues ()
hache.Terrain (x, np.sin (x), '-b', label = 'sine')
hache.Terrain (x, np.cos (x), '--r', label = 'cosinus')
hache.axe («égal»)
jambe = hache.légende();
hache.Légende (loc = 'Upper gauche', frameon = false)
figue
hache.légende (frameon = false, loc = 'inférieur du centre', ncol = 3)
figue
hache.Legend (FancyBox = true, Framealpha = 1, Shadow = True, BorderPad = 2)
figue

Pour découvrir le nombre de lignes dans la légende, nous devons utiliser la commande «NCOL». Nous ajoutons également une teinte, ajustez la visibilité (valeur alpha) du cadre ou modifions l'espacement autour du contenu en utilisant une boîte arrondie (FancyBox).

Identifier les éléments de la légende

Par défaut, la légende comprend tous les éléments étiquetés. Si ce n'est pas ce que nous voulons, nous utiliserons les éléments fournis par les commandes de l'intrigue pour affiner les composants et les titres afficher dans la légende.

Importer Matplotlib.pypllot comme plt
PLT.style.Utiliser («classique»)
Importer Numpy comme NP
x = np.Linspace (0, 16, 2000)
Fig, ax = plt.sous-intrigues ()
y = np.péché (x [:, np.newaxis] + np.pi * np.Arange (0, 2, 0.5))
lignes = plt.Terrain (x, y)
PLT.légende (lignes [: 2], [«premier», «deuxième»]);
PLT.tracé (x, y [:, 0], label = 'premier')
PLT.tracé (x, y [:, 1], label = 'second')
PLT.Plot (x, y [:, 2:])
PLT.légende (Framealpha = 1, frameon = true);

Le plt.La fonction PLOT () peut construire de nombreuses lignes simultanément et fournit une liste des lignes qui ont été formées. En fournissant l'un d'eux à PLT.Legend (), nous pouvons indiquer quels éléments localiser ainsi que les étiquettes que nous voulons utiliser. La légende élimine les éléments sans attribut de titre fourni par défaut.

Plusieurs légendes

Lors de la création d'un intrigue, nous pouvons vouloir inclure différentes légendes dans le même axe. Cependant, Matplotlib ne rend pas cela simple. Nous ne pouvons construire une légende singulière que pour le complot global en utilisant la méthode de légende conventionnelle.

Si nous voulons utiliser PLT.légende () ou hache.Legend () pour construire une deuxième légende, puis il invoquera le premier. Nous pouvons le faire en ajoutant un artiste de légende dès le début, puis en ajoutant explicitement le nouvel artiste à l'intrigue qui utilise la hache de niveau inférieur.Ajouter une technique d'artiste ().

Comme nous le remarquons, la méthode ne contient que une logique de base pour établir un artiste de légende approprié, qui sera ensuite stocké dans l'attribut Legend_ et inséré dans le graphique lorsque l'intrigue sera créée.

En dehors de l'intrigue

Nous utilisons Matplotlib pour empêcher un cadre de légende de devenir tronqué. Nous appliquerons BBOX_EXTRA_ARTISTISS et BBOX_INCHES pour nous assurer que la légende n'est pas recadrée. Les artistes BBOX_EXTRA indiquent la liste des artistes qui seraient prises en compte lors de la calcul du BBOX serré. Si bbox_inches est ajusté pour être compact, un bbox tendu serait créé pour la figure.

Importer Matplotlib.pypllot comme plt
Importer Numpy comme NP
x = np.lispace (0, 20, 3)
y = np.cos (x)
y1 = np.Exp (x)
PLT.tracé (x, y, label = "cos (x)")
PLT.tracé (x, y1, label = "exp (x)")
légende_outside = plt.légende (bbox_to_anchor = (1.05, 0.0),
loc = 'inférieur droit')
PLT.SAVEFIG ('Outside_Legend.png ',
dpi = 100,
format = 'png',
bbox_extra_artistes = (légende_outside,),
bbox_inches = 'serré')
PLT.montrer()

Pour l'analyse visuelle, nous intégrons Matplotlib.pypllot comme plt. Ensuite, pour les métadonnées, nous incluons Numpy comme NP. Nous utilisons les fonctions lispace (), cos () et exp () pour spécifier les dimensions de données. Nous utilisons la méthode Plot () pour dessiner le graphique. Nous utilisons la fonction légende () avec l'argument BBOX_TO_ANCHOR pour ajouter la légende du tracé extérieur. Le tracé est ensuite enregistré en tant que fichier PNG en utilisant la méthode SaveFig (). Nous fournissons les arguments bbox_extra_artists et bbox_inches à la méthode SaveFig () pour éviter que la légende ne se tronque.

Conclusion

Nous apprenons quelques méthodes pour ajuster l'emplacement de la légende dans Matplotlib dans cet article. La position par défaut pour la légende est «la meilleure», cela signifie que Matplotlib identifiera une position pour la légende qui empêche l'obscurcissement de tous les ensembles de données. Le paramètre bbox_to_anchor () pourrait également être utilisé pour localiser la légende en dehors du graphique. Dans cet article, nous avons également discuté de la méthode pour attacher différents titres aux composants de l'intrigue que nous voulons montrer sur la légende. Les défauts de légende ne sont parfois pas suffisants pour une visualisation particulière. Ensuite, peut-être que nous utiliserons les valeurs des points pour illustrer des aspects spécifiques des données, nous devrons donc construire une légende pour représenter cela. De plus, chaque légende peut être indiqué.