Comment supprimer une légende dans Matplotlib (avec exemples)
Vous pouvez utiliser la syntaxe de base suivante pour supprimer une légende d’un tracé dans Matplotlib :
import matplotlib.pyplot as plt
plt.legend('', frameon=False)
Les guillemets ‘ ‘ indiquent à Matplotlib de ne placer aucune variable dans la légende et l’argument frameon indique à Matplotlib de supprimer le cadre autour de la légende.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : supprimer une légende dans Matplotlib
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'position': ['G', 'G', 'F', 'F', 'G', 'F', 'F', 'F'],
'points': [5, 7, 7, 9, 12, 9, 9, 4]})
#view DataFrame
print(df)
team position points
0 A G 5
1 A G 7
2 A F 7
3 A F 9
4 B G 12
5 B F 9
6 B F 9
7 B F 4
Nous pouvons utiliser le code suivant pour créer un graphique à barres empilées afin de visualiser le total des points marqués par les joueurs de chaque équipe et de chaque position :
import matplotlib.pyplot as plt
#create stacked bar chart
df.groupby(['team', 'position']).size().unstack().plot(kind='bar', stacked=True)
Notez que Matplotlib place par défaut une légende dans le coin supérieur droit.
Pour créer ce même tracé sans la légende, on peut utiliser le code suivant :
import matplotlib.pyplot as plt
#create stacked bar chart
df.groupby(['team', 'position']).size().unstack().plot(kind='bar', stacked=True)
#remove legend
plt.legend('', frameon=False)
Ce graphique à barres empilées correspond au graphique précédent, mais la légende a été supprimée.
Notez également que nous pouvons utiliser la même syntaxe pour supprimer une légende de n’importe quel tracé dans Matplotlib.
Par exemple, le code suivant montre comment créer un diagramme circulaire dans Matplotlib et supprimer la légende :
import matplotlib.pyplot as plt #create pie chart that shows total points scored by team df.groupby(['team']).sum().plot(kind='pie', y='points') #remove legend plt.legend('', frameon=False)
Le résultat est un diagramme circulaire sans légende.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Matplotlib :
Comment supprimer les tiques des tracés Matplotlib
Comment modifier la taille des polices sur un tracé Matplotlib
Comment ajouter une ligne moyenne au tracé dans Matplotlib