Comment ajuster la taille de la figure d’un tracé Seaborn



Il existe deux façons de modifier la taille d’un graphique d’un tracé marin en Python.

La première méthode peut être utilisée pour modifier la taille des tracés « au niveau des axes » tels que les tracés sns.scatterplot() ou sns.boxplot() :

sns.set(rc={"figure.figsize":(3, 4)}) #width=3, #height=4

La deuxième méthode peut être utilisée pour modifier la taille des tracés « au niveau de la figure » tels que les tracés sns.lmplot() et sns.catplot() ou sns.jointplot() .

Cette méthode nécessite que vous spécifiiez la hauteur et l’aspect (le rapport entre la largeur et la hauteur) dans les arguments du graphique :

sns.lmplot(data=df, x="var1", y="var2",
              height=6, aspect=1.5) #height=6, width=1.5 times larger than height

Les exemples suivants montrent comment utiliser ces deux méthodes dans la pratique.

Méthode 1 : modifier la taille des tracés au niveau des axes

Le code suivant montre comment créer un nuage de points marin d’une largeur de 8 et d’une hauteur de 4 :

import pandas as pd
import seaborn as sns

#create data
df = pd.DataFrame({"var1": [25, 12, 15, 14, 19, 23, 25, 29],
                   "var2": [5, 7, 7, 9, 12, 9, 9, 4],
                   "var3": [11, 8, 10, 6, 6, 5, 9, 12]})

#define figure size
sns.set(rc={"figure.figsize":(8, 4)}) #width=8, height=4

#display scatterplot
sns.scatterplot(data=df, x="var1", y="var2")

Et le code suivant montre comment créer un boxplot Seaborn d’une largeur de 6 et d’une hauteur de 5 :

#define figure size
sns.set(rc={"figure.figsize":(6, 5)}) #width=6, height=5

#display scatterplot
sns.boxplot(data=df["var1"])

Méthode 2 : modifier la taille des tracés au niveau de la figure

Pour les tracés au niveau des figures (tels que sns.lmplot, sns.catplot, sns.jointplot, etc.), vous devez spécifier la hauteur et la largeur dans le graphique lui-même.

Le code suivant montre comment créer un lmplot marin avec une hauteur de 5 et une largeur 1,5 fois plus grande que la hauteur :

import pandas as pd
import seaborn as sns

#create data
df = pd.DataFrame({"var1": [25, 12, 15, 14, 19, 23, 25, 29],
                   "var2": [5, 7, 7, 9, 12, 9, 9, 4],
                   "var3": [11, 8, 10, 6, 6, 5, 9, 12]})

#create lmplot
sns.lmplot(data=df, x="var1", y="var2",
              height=5, aspect=1.5) #height=5, width=1.5 times larger than height

Et le code suivant montre comment créer un tracé commun marin d’une hauteur de 3,5. Puisqu’un jointplot est carré par défaut, nous n’avons pas besoin de spécifier la valeur d’aspect :

sns.jointplot(data=df, x="var1", y="var2", height=3.5)

Consultez ladocumentation de Seaborn pour une explication détaillée de la différence entre les fonctions au niveau de la figure et au niveau des axes.

Ressources additionnelles

Comment ajouter un titre aux parcelles Seaborn
Comment modifier les étiquettes des axes sur un tracé Seaborn
Comment changer la position d’une légende dans Seaborn

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *