seaborn.lmplot#
- seaborn.lmplot(data, *, x=None, y=None, hue=None, col=None, row=None, palette=None, col_wrap=None, height=5, aspect=1, markers='o', sharex=None, sharey=None, hue_order=None, col_order=None, row_order=None, legend=True, legend_out=None, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, x_jitter=None, y_jitter=None, scatter_kws=None, line_kws=None, facet_kws=None)#
在 FacetGrid 上绘制数据和回归模型拟合。
此函数结合了
regplot()
和FacetGrid
。它旨在作为一种便捷的接口,用于拟合数据集条件子集的回归模型。在考虑如何将变量分配到不同的刻面时,一个通用的规则是使用
hue
用于最重要的比较,然后是col
和row
。但是,始终考虑您的特定数据集和您正在创建的可视化的目标。有许多互斥的选项用于估计回归模型。有关更多信息,请参阅 教程。
此函数的参数跨越了
FacetGrid
中的大多数选项,尽管在某些情况下,您可能希望直接使用该类和regplot()
。- 参数:
- dataDataFrame
整洁(“长格式”)数据框,其中每一列都是一个变量,每一行都是一个观察结果。
- x, y字符串,可选
输入变量;这些应该是
data
中的列名。- hue, col, row字符串
定义数据子集的变量,这些子集将在网格中的不同刻面上绘制。请参阅
*_order
参数以控制此变量级别顺序。- palette调色板名称、列表或字典
用于
hue
变量不同级别的颜色。应为color_palette()
可解释的内容,或将色调级别映射到 matplotlib 颜色的字典。- col_wrapint
将列变量“包装”在此宽度,以便列刻面跨越多行。与
row
刻面不兼容。- height标量
每个刻面的高度(以英寸为单位)。另请参见:
aspect
。- aspect标量
每个刻面的纵横比,因此
aspect * height
给出每个刻面的宽度(以英寸为单位)。- markersmatplotlib 标记代码或标记代码列表,可选
散点图的标记。如果为列表,则列表中的每个标记将用于
hue
变量的每个级别。- share{x,y}bool,‘col’ 或 ‘row’ 可选
如果为真,则刻面将在列之间共享 y 轴,或在行之间共享 x 轴。
从版本 0.12.0 开始弃用:使用
facet_kws
字典传递。- {hue,col,row}_order列表,可选
刻面变量级别的顺序。默认情况下,这将是级别在
data
中出现的顺序,或者,如果变量是 pandas 分类变量,则为类别顺序。- legendbool,可选
如果为
True
且存在hue
变量,则添加图例。- legend_outbool
如果为
True
,则图的大小将扩展,图例将在绘图外部的中心右侧绘制。从版本 0.12.0 开始弃用:使用
facet_kws
字典传递。- x_estimator将向量映射到标量的可调用对象,可选
将此函数应用于
x
的每个唯一值,并绘制生成的估计值。当x
是离散变量时,这很有用。如果给出x_ci
,则此估计将进行自举,并将绘制置信区间。- x_binsint 或向量,可选
将
x
变量分成离散的箱,然后估计中心趋势和置信区间。此分箱仅影响散点图的绘制方式;回归仍然适合原始数据。当使用此参数时,这意味着x_estimator
的默认值为numpy.mean
。- x_ci“ci”,“sd”,[0, 100] 中的 int 或 None,可选
绘制
x
的离散值的中心趋势时使用的置信区间大小。如果为"ci"
,则转到ci
参数的值。如果为"sd"
,则跳过自举并显示每个箱中观测值的标准差。- scatterbool,可选
如果为
True
,则绘制包含基础观测值(或x_estimator
值)的散点图。- fit_regbool,可选
如果为
True
,则估计并绘制关联x
和y
变量的回归模型。- ci[0, 100] 中的 int 或 None,可选
回归估计的置信区间大小。这将使用围绕回归线的半透明带绘制。置信区间使用自举法估计;对于大型数据集,建议通过将此参数设置为 None 来避免该计算。
- n_bootint,可选
用于估计
ci
的自举重采样次数。默认值试图在时间和稳定性之间取得平衡;您可能希望为绘图的“最终”版本增加此值。- units
data
中的变量名称,可选 如果
x
和y
观测值嵌套在采样单位中,则可以在这里指定它们。在计算置信区间时,这将被考虑在内,方法是执行多级自举,该自举将对单位和观测值(在单位内)进行重采样。这不会以其他方式影响回归的估计或绘制方式。- seedint,numpy.random.Generator 或 numpy.random.RandomState,可选
用于可重复自举的种子或随机数生成器。
- orderint,可选
如果
order
大于 1,则使用numpy.polyfit
估计多项式回归。- logisticbool,可选
如果为
True
,则假定y
是一个二元变量,并使用statsmodels
估计逻辑回归模型。请注意,这比线性回归在计算上要密集得多,因此您可能希望减少自举重采样次数 (n_boot
) 或将ci
设置为 None。- lowessbool,可选
如果为
True
,则使用statsmodels
估计非参数 lowess 模型(局部加权线性回归)。请注意,目前无法为此类模型绘制置信区间。- robustbool,可选
如果为
True
,则使用statsmodels
估计稳健回归。这将降低异常值的权重。请注意,这比标准线性回归在计算上要密集得多,因此您可能希望减少自举重采样次数 (n_boot
) 或将ci
设置为 None。- logxbool,可选
如果为
True
,则估计形式为 y ~ log(x) 的线性回归,但在输入空间中绘制散点图和回归模型。请注意,x
必须为正才能使此方法起作用。- {x,y}_partial
data
中的字符串或矩阵 在绘制之前从
x
或y
变量中回归出的混杂变量。- truncatebool,可选
如果为
True
,则回归线受数据限制。如果为False
,则它延伸到x
轴限制。- {x,y}_jitter浮点数,可选
将此大小的均匀随机噪声添加到
x
或y
变量。噪声是在拟合回归之后添加到数据的副本中,并且仅影响散点图的外观。当绘制取离散值的变量时,这可能会有所帮助。- {scatter,line}_kws字典
传递给
plt.scatter
和plt.plot
的其他关键字参数。- facet_kwsdict
用于
FacetGrid
的关键字参数字典。
另请参见
注释
regplot()
和lmplot()
函数密切相关,但前者是轴级函数,而后者是图级函数,它结合了regplot()
和FacetGrid
。示例
请参阅
regplot()
文档以了解有关指定回归模型的各种选项的演示,这些选项也在这里接受。在散点图上绘制回归拟合
sns.lmplot(data=penguins, x="bill_length_mm", y="bill_depth_mm")
根据另一个变量对回归拟合进行条件化,并使用颜色表示它
sns.lmplot(data=penguins, x="bill_length_mm", y="bill_depth_mm", hue="species")
根据另一个变量对回归拟合进行条件化,并在子图中拆分它
sns.lmplot( data=penguins, x="bill_length_mm", y="bill_depth_mm", hue="species", col="sex", height=4, )
使用列和行在两个变量上进行条件化
sns.lmplot( data=penguins, x="bill_length_mm", y="bill_depth_mm", col="species", row="sex", height=3, )
允许轴限制在子图之间变化
sns.lmplot( data=penguins, x="bill_length_mm", y="bill_depth_mm", col="species", row="sex", height=3, facet_kws=dict(sharex=False, sharey=False), )