seaborn:lmplot()得到了一个意想不到的关键字参数'figsize'

Zac*_*ler 14 python seaborn

如何更改seaborn中我的lmplot的数字大小?

这是我目前的代码,但显然figsize不被接受.

sns.lmplot(x="x", y="y", hue="category", data=df,fit_reg=False,
       markers=["o", "x"], palette="Set1",figsize=(7,7));
Run Code Online (Sandbox Code Playgroud)

谢谢

Jos*_*but 16

由于a lmplot是"图形级别",figsize由两个参数决定,sizeaspect.我认为size=7会做你想做的事,但我可能会离开.

这是在文档中(搜索"更改构面的大小和宽高比"):https://web.stanford.edu/~mwaskom/software/seaborn/generated/seaborn.lmplot.html

注意:我一直对完全相同的东西感到困惑,并且确定具有一致接口的大小非常好.


Joe*_*fer 11

比较这两种设置图表大小的方法:

生成线性模型图

sns.lmplot(data=conversion, x='Week Index', y='Lead-Ann', size=4, aspect=5)
Run Code Online (Sandbox Code Playgroud)

使用回归图创建图形

plt.figure(figsize=(24,4))
sns.regplot(data=conversion, x='Week Index', y='Lead-Ann')
Run Code Online (Sandbox Code Playgroud)

Seaborn文档解释了不同之处:seaborn.lmplot

理解regplot()和lmplot()之间的区别可能有点棘手.事实上,它们是密切相关的,因为lmplot()在内部使用regplot()并占用其大部分参数.但是,regplot()是一个轴级函数,因此它直接绘制到轴上(当前活动轴或ax参数提供的轴),而lmplot()是一个图形级函数并创建自己的图形,通过FacetGrid管理.这有一些后果,即regplot()可以愉快地与其他类型的图一起存在于图中,并将遵循全局matplotlib颜色循环.相比之下,lmplot()需要占用整个图形,并且通过函数参数控制大小和颜色周期,忽略全局默认值.

  • “size”参数已重命名为“height”! (2认同)

get*_*up8 7

在Seaborn 0.9.0中,我认为正确的方法是使用height(默认为5)设置图形的高度,然后使用aspect(默认为1)设置宽度。 height * aspect = width

要制作更大的正方形,只需增加高度即可:

sns.lmplot(x='x', y='y', hue='category', data=df, height=7);
Run Code Online (Sandbox Code Playgroud)

为了使其更宽,请增加纵横比:

sns.lmplot(x='x', y='y', hue='category', data=df, height=7, aspect=1.6);
Run Code Online (Sandbox Code Playgroud)