Comment ajouter manuellement des légendes dans Matplotlib avec des couleurs et des étiquettes distinctes ?

Susan Sarandon
Libérer: 2024-10-22 15:09:03
original
491 Les gens l'ont consulté

How to Manually Add Legends in Matplotlib with Distinct Colors and Labels?

Création manuelle d'une légende dans Matplotlib

Lorsque vous travaillez avec de grands ensembles de données dans matplotlib, l'ajout manuel d'éléments à la légende avec des couleurs et des étiquettes distinctes peut être une technique utile. Cela évite les doublons qui peuvent survenir lors de l'inclusion automatique de données dans le tracé.

Approche originale

L'approche originale a tenté d'utiliser le code suivant :

ax2.legend(self.labels, colorList[:len(self.labels)])
plt.legend()
Copier après la connexion

où self.labels est le nombre d'étiquettes de légende souhaitées et colorList est un sous-ensemble des couleurs utilisées dans le tracé. Cependant, cette méthode n'a généré aucune entrée dans la légende.

Solution

Pour créer manuellement une légende, le Guide des légendes dans la documentation matplotlib propose une solution. Il s'agit de créer un artiste spécial, appelé Patch, qui peut être utilisé comme poignée dans la légende.

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt

# Create a red patch
red_patch = mpatches.Patch(color='red', label='The red data')
Copier après la connexion

Ce patch représente désormais les données rouges et peut être directement ajouté à la légende.

plt.legend(handles=[red_patch])
Copier après la connexion

Ajout de plusieurs patchs

Pour ajouter plusieurs couleurs et étiquettes, la même technique peut être appliquée en créant des patchs supplémentaires.

blue_patch = mpatches.Patch(color='blue', label='The blue data')
plt.legend(handles=[red_patch, blue_patch])
Copier après la connexion

Cela permettra donne lieu à une légende avec deux entrées, une pour chaque patch.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!