Comment puis-je changer la taille de la figure pour mon lmplot dans seaborn?
Il s'agit de mon code actuel, mais apparemment, figsize
n'est pas accepté.
sns.lmplot(x="x", y="y", hue="category", data=df,fit_reg=False,
markers=["o", "x"], palette="Set1",figsize=(7,7));
Merci.
Comme un lmplot
est "au niveau de la figure", figsize
est déterminé par deux paramètres, size
et aspect
. Je pense size=7
fera ce que vous voulez mais je suis peut-être loin.
Le voici dans la documentation (recherchez "Changer la hauteur et le rapport hauteur/largeur des facettes"): http://seaborn.pydata.org/generated/seaborn.lmplot.html
Remarque: J'ai été sans cesse confus par la même chose, et ce serait vraiment bien pour le dimensionnement d'avoir une interface cohérente.
Comparez ces deux façons de définir la taille d'un graphique:
sns.lmplot(data=conversion, x='Week Index', y='Lead-Ann', size=4, aspect=5)
plt.figure(figsize=(24,4))
sns.regplot(data=conversion, x='Week Index', y='Lead-Ann')
La différence s'explique par la documentation Seaborn: seaborn.lmplot
Comprendre la différence entre regplot () et lmplot () peut être un peu délicat. En fait, ils sont étroitement liés, car lmplot () utilise regplot () en interne et prend la plupart de ses paramètres. Cependant, regplot () est une fonction au niveau des axes, donc il dessine directement sur un axe (soit les axes actuellement actifs soit celui fourni par le paramètre ax), tandis que lmplot () est une fonction au niveau de la figure et crée sa propre figure , qui est géré via un FacetGrid. Cela a quelques conséquences, à savoir que regplot () peut coexister avec bonheur dans une figure avec d'autres types de tracés et suivra le cycle de couleur global matplotlib. En revanche, lmplot () doit occuper une figure entière, et la taille et le cycle de couleur sont contrôlés via des paramètres de fonction, ignorant les valeurs par défaut globales.
Dans Seaborn 0.9.0, je pense que la bonne façon de procéder consiste à utiliser height
(valeur par défaut de 5) pour définir la hauteur de la figure, puis à utiliser aspect
(valeur par défaut de 1) pour réglez la largeur. height * aspect = width
.
Pour faire un carré plus grand, augmentez simplement la hauteur:
sns.lmplot(x='x', y='y', hue='category', data=df, height=7);
Pour l'agrandir également, augmentez le rapport d'aspect:
sns.lmplot(x='x', y='y', hue='category', data=df, height=7, aspect=1.6);