seaborn:lmplot() 得到了一个意外的关键字参数“figsize”
Posted
技术标签:
【中文标题】seaborn:lmplot() 得到了一个意外的关键字参数“figsize”【英文标题】:seaborn: lmplot() got an unexpected keyword argument 'figsize' 【发布时间】:2016-06-27 05:11:22 【问题描述】:如何在 seaborn 中更改我的 lmplot 的图形大小?
这是我当前的代码,但显然 figsize
不被接受。
sns.lmplot(x="x", y="y", hue="category", data=df,fit_reg=False,
markers=["o", "x"], palette="Set1",figsize=(7,7));
谢谢。
【问题讨论】:
【参考方案1】:比较这两种设置图表大小的方式:
生成线性模型图
sns.lmplot(data=conversion, x='Week Index', y='Lead-Ann', height=4, aspect=5)
使用回归图创建图形
plt.figure(figsize=(24,4))
sns.regplot(data=conversion, x='Week Index', y='Lead-Ann')
Seaborn 文档解释了不同之处:seaborn.lmplot
了解 regplot() 和 lmplot() 之间的区别可以 有点棘手。事实上,它们是密切相关的,因为 lmplot() 使用 regplot() 内部并采用其大部分参数。然而, regplot() 是轴级函数,因此它直接绘制到轴上 (当前活动的轴或由 ax 提供的轴 参数),而 lmplot() 是一个图形级函数并创建其 自己的图形,通过 FacetGrid 管理。这有几 结果,即 regplot() 可以愉快地共存于一个图中 与其他类型的绘图,并将遵循全局 matplotlib 颜色 循环。相比之下,lmplot() 需要占据整个图形,而 大小和颜色循环通过函数参数控制, 忽略全局默认值。
【讨论】:
size
参数已重命名为 height
!【参考方案2】:
由于lmplot
是“图形级”,figsize
由两个参数确定,size
和aspect
。我认为size=7
会做你想做的事,但我可能会走得很远。
在文档中(搜索“更改构面的高度和纵横比”):http://seaborn.pydata.org/generated/seaborn.lmplot.html
注意:我一直被完全相同的东西弄糊涂了,如果调整大小以拥有一致的界面真的很好。
【讨论】:
标题和图例的一致性也会很棒! 还有如何让它与 suplots 一起工作? @Intelligent-Infrastructure 不确定,可能值得提出一个新问题!或者这个答案可能会有所帮助:***.com/a/14770827/1594060【参考方案3】:在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);
【讨论】:
以上是关于seaborn:lmplot() 得到了一个意外的关键字参数“figsize”的主要内容,如果未能解决你的问题,请参考以下文章