Création de Swarm Plots
Le swarmplot est très similaire au stripplot, mais il présente un avantage majeur : les points ne se chevauchent pas.
Dans un stripplot, on utilise le "jitter" pour disperser aléatoirement les points afin qu'ils ne soient pas superposés, mais des chevauchements peuvent tout de même se produire. Le swarmplot utilise un algorithme spécifique pour ajuster les points le long de l'axe catégoriel afin de former une forme claire et non superposée qui reflète la distribution des données (similaire à un violin plot).
Paramètres clés
dodge=True: lors de l'utilisation d'une variablehue(par exemple, pour séparer les fumeurs des non-fumeurs), ce paramètre sépare les groupes en "essaims" distincts côte à côte, au lieu de les mélanger ;linewidth: ajoute une bordure autour de chaque point, les rendant distincts même s'ils sont petits.
Exemple
Voici comment le paramètre dodge modifie la visualisation. Remarquez comment les points bleus et orange sont séparés.
1234567891011121314151617import seaborn as sns import matplotlib.pyplot as plt # Load dataset df = sns.load_dataset('tips') # Create a swarmplot sns.swarmplot( data=df, x='day', y='total_bill', hue='sex', dodge=True, # Separate Male/Female into side-by-side swarms size=4 ) plt.show()
Swipe to start coding
Visualiser la distribution des pourboires à l'aide d'un swarmplot avec un style distinct.
- Définir le style sur
'whitegrid'. Passer un dictionnaire pour définir'axes.facecolor'sur'seashell'. - Créer un swarmplot en utilisant le jeu de données
tips(df) :
- Mapper
'day'surx,'total_bill'sury, et'sex'surhue. - Définir la
sizedes points à2pour afficher plus de points sans qu'ils ne se chevauchent. - Ajouter une bordure aux points en utilisant
linewidth=1. - Séparer les catégories (male/female) côte à côte en définissant
dodge=True. - Utiliser la palette
'rocket'.
- Afficher le graphique.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 4.55
Création de Swarm Plots
Glissez pour afficher le menu
Le swarmplot est très similaire au stripplot, mais il présente un avantage majeur : les points ne se chevauchent pas.
Dans un stripplot, on utilise le "jitter" pour disperser aléatoirement les points afin qu'ils ne soient pas superposés, mais des chevauchements peuvent tout de même se produire. Le swarmplot utilise un algorithme spécifique pour ajuster les points le long de l'axe catégoriel afin de former une forme claire et non superposée qui reflète la distribution des données (similaire à un violin plot).
Paramètres clés
dodge=True: lors de l'utilisation d'une variablehue(par exemple, pour séparer les fumeurs des non-fumeurs), ce paramètre sépare les groupes en "essaims" distincts côte à côte, au lieu de les mélanger ;linewidth: ajoute une bordure autour de chaque point, les rendant distincts même s'ils sont petits.
Exemple
Voici comment le paramètre dodge modifie la visualisation. Remarquez comment les points bleus et orange sont séparés.
1234567891011121314151617import seaborn as sns import matplotlib.pyplot as plt # Load dataset df = sns.load_dataset('tips') # Create a swarmplot sns.swarmplot( data=df, x='day', y='total_bill', hue='sex', dodge=True, # Separate Male/Female into side-by-side swarms size=4 ) plt.show()
Swipe to start coding
Visualiser la distribution des pourboires à l'aide d'un swarmplot avec un style distinct.
- Définir le style sur
'whitegrid'. Passer un dictionnaire pour définir'axes.facecolor'sur'seashell'. - Créer un swarmplot en utilisant le jeu de données
tips(df) :
- Mapper
'day'surx,'total_bill'sury, et'sex'surhue. - Définir la
sizedes points à2pour afficher plus de points sans qu'ils ne se chevauchent. - Ajouter une bordure aux points en utilisant
linewidth=1. - Séparer les catégories (male/female) côte à côte en définissant
dodge=True. - Utiliser la palette
'rocket'.
- Afficher le graphique.
Solution
Merci pour vos commentaires !
single