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

时间:2016-03-11 20:08:12

标签: python seaborn

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

这是我目前的代码,但显然无法接受。

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

由于

3 个答案:

答案 0 :(得分:10)

由于lmplot是“数字级别”,figsize由两个参数sizeaspect决定。我认为size=7会做你想做的事,但我可能会离开。

此处位于文档中(搜索“更改构面的大小和宽高比”):https://web.stanford.edu/~mwaskom/software/seaborn/generated/seaborn.lmplot.html

注意:我已经被完全相同的事情无休止地困惑了,并且确定具有一致的界面非常好。

答案 1 :(得分:7)

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

生成线性模型图

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')

Seaborn文档解释了差异:seaborn.lmplot

  

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

答案 2 :(得分:0)

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

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

sns.lmplot(x='x', y='y', hue='category', data=df, height=7);

要使其更宽,请增加宽高比:

sns.lmplot(x='x', y='y', hue='category', data=df, height=7, aspect=1.6);