Comment tracer plusieurs lignes dans Seaborn (avec exemple)
Vous pouvez utiliser la syntaxe de base suivante pour tracer plusieurs lignes sur le même tracé à l’aide de seaborn en Python :
import seaborn as sns sns.lineplot(data=df[['col1', 'col2', 'col3']]
Cet exemple particulier créera un tracé avec trois lignes différentes.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : tracer plusieurs lignes dans Seaborn
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur les ventes réalisées par quatre magasins de détail différents (A, B, C et D) pendant huit années consécutives :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'year': [1, 2, 3, 4, 5, 6, 7, 8],
'A': [10, 12, 14, 15, 15, 14, 13, 18],
'B': [18, 18, 19, 14, 14, 11, 20, 28],
'C': [5, 7, 7, 9, 12, 9, 9, 4],
'D': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
print(df)
year A B C D
0 1 10 18 5 11
1 2 12 18 7 8
2 3 14 19 7 10
3 4 15 14 9 6
4 5 15 14 12 6
5 6 14 11 9 5
6 7 13 20 9 9
7 8 18 28 4 12
Nous pouvons utiliser la fonction lineplot() de Seaborn pour créer un tracé qui affiche quatre lignes pour représenter les ventes réalisées par chaque magasin au cours de chaque année :
import seaborn as sns #plot sales of each store as a line sns.lineplot(data=df[['A', 'B', 'C', 'D']])
Chaque ligne représente les valeurs de l’un des quatre magasins.
La légende dans le coin supérieur gauche indique quelle couleur correspond à quel magasin.
Notez que nous pouvons également utiliser l’argument palette pour spécifier nos propres couleurs à utiliser dans le tracé :
import seaborn as sns #plot sales of each store with custom colors sns.lineplot(data=df[['A', 'B', 'C', 'D']], palette=['red', 'blue', 'purple', 'pink'])
Notez que les couleurs des lignes correspondent désormais aux quatre couleurs que nous avons spécifiées dans l’argument palette .
Si vous souhaitez que chacune des lignes soit solide, vous pouvez utiliser la fonction pandas melt() pour fondre le DataFrame dans un format long , puis utiliser la syntaxe suivante pour tracer les lignes :
import seaborn as sns #plot sales of each store with custom colors sns.lineplot(x='year', y='value', hue='variable', data=pd.melt(df, ['year']), palette=['red', 'blue', 'purple', 'pink'])
Chacune des lignes est désormais solide au lieu d’avoir son propre style de ligne.
Remarque : Si vous rencontrez des difficultés pour importer seaborn dans un notebook Jupyter, vous devrez peut-être d’abord exécuter la commande %pip install seaborn .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Seaborn :
Comment ajouter un titre aux parcelles Seaborn
Comment changer la taille de la police dans les tracés Seaborn
Comment ajuster la taille de la figure d’un tracé Seaborn