Comment changer la taille d'une figure dans le paquet Python Seaborn
J'ai du mal à augmenter la taille de mes figurines à l'aide de Seaborn. J'utilise sns.pairplot pour tracer les colonnes d'un bloc de données les unes par rapport aux autres.
%matplotlib inline
plt.rcParams['figure.figsize']=10,10
columns=list(df.columns.values)
g=sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])
Les parcelles sont remplies de données, mais la taille de la figure est trop petite. Je pensais que plot.rCParams ['figure.figsize'] contrôlerait sa taille, mais cela ne semble pas prendre effet. J'ai essayé quelques suggestions différentes sur des forums en ligne, mais rien ne semble fonctionner.
Essayez de mettre la taille entre parenthèses, ceci me convient:
plt.rcParams['figure.figsize']=(10,10)
sns.pairplot "Renvoie l'instance PairGrid sous-jacente pour un ajustement supplémentaire" ... par exemple en modifiant la taille de la figure
g=sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])
g.fig.set_size_inches(15,15)
En plus de la réponse fonctionnelle well de @MartinAnderson , seaborn lui-même offre la possibilité de définir la hauteur des sous-parcelles de la grille. En combinaison avec la variable aspect
, cela détermine la taille globale de la figure en fonction du nombre de sous-parcelles dans la grille.
En mer né <= 0.8.1:
g = sns.pairplot(..., size=10, aspect=0.6)
En mer né> = 0.9.0:
g = sns.pairplot(..., height=10, aspect=0.6)
Notez que cela s'applique à toutes les fonctions liées à la mer générant une grille au niveau de la figure, telle que pairplot
, relplot
, catplot
, lmplot
et les sous-jacentes PairGrid
ou FacetGrid
.
Pour d'autres tracés marins, qui tracent directement sur des axes, les solutions de Comment changez-vous la taille des figures dessinées avec matplotlib? fonctionnera bien.
Si nous souhaitons modifier uniquement la hauteur ou la largeur, nous pouvons le faire.
g = sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])
g.fig.set_figheight(6)
g.fig.set_figwidth(10)
Répondant à la question de Rahul sur sns.catplot ( Impossible de modifier la taille de la parcelle avec matplotlib et seaborn )
Si vous essayez dans le cahier jupyter:
plt.figure(figsize=(25,20))
sns.boxplot(x='CriticRating', y='AudienceRating', data=movies)
ça marche, mais
sns.boxplot(x='CriticRating', y='AudienceRating', data=movies)
plt.figure(figsize=(25,20))
ne fonctionne pas (la parcelle est très petite). Il est important d'ajouter la ligne plt.figure(figsize=(25,20))
avant sns.boxplot()
et d'inclure bien sûr %matplotlib inline
afin d'afficher le tracé dans jupyter.