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 用于最重要的比较,然后是 colrow。但是,始终考虑您的特定数据集和您正在创建的可视化的目标。

有许多互斥的选项用于估计回归模型。有关更多信息,请参阅 教程

此函数的参数跨越了 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,则估计并绘制关联 xy 变量的回归模型。

ci[0, 100] 中的 int 或 None,可选

回归估计的置信区间大小。这将使用围绕回归线的半透明带绘制。置信区间使用自举法估计;对于大型数据集,建议通过将此参数设置为 None 来避免该计算。

n_bootint,可选

用于估计 ci 的自举重采样次数。默认值试图在时间和稳定性之间取得平衡;您可能希望为绘图的“最终”版本增加此值。

unitsdata 中的变量名称,可选

如果 xy 观测值嵌套在采样单位中,则可以在这里指定它们。在计算置信区间时,这将被考虑在内,方法是执行多级自举,该自举将对单位和观测值(在单位内)进行重采样。这不会以其他方式影响回归的估计或绘制方式。

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}_partialdata 中的字符串或矩阵

在绘制之前从 xy 变量中回归出的混杂变量。

truncatebool,可选

如果为 True,则回归线受数据限制。如果为 False,则它延伸到 x 轴限制。

{x,y}_jitter浮点数,可选

将此大小的均匀随机噪声添加到 xy 变量。噪声是在拟合回归之后添加到数据的副本中,并且仅影响散点图的外观。当绘制取离散值的变量时,这可能会有所帮助。

{scatter,line}_kws字典

传递给 plt.scatterplt.plot 的其他关键字参数。

facet_kwsdict

用于 FacetGrid 的关键字参数字典。

另请参见

regplot

绘制数据和条件模型拟合。

FacetGrid

用于绘制条件关系的子图网格。

pairplot

结合 regplot()PairGrid(当与 kind="reg" 一起使用时)。

注释

regplot()lmplot() 函数密切相关,但前者是轴级函数,而后者是图级函数,它结合了 regplot()FacetGrid

示例

请参阅 regplot() 文档以了解有关指定回归模型的各种选项的演示,这些选项也在这里接受。

在散点图上绘制回归拟合

sns.lmplot(data=penguins, x="bill_length_mm", y="bill_depth_mm")
../_images/lmplot_2_0.png

根据另一个变量对回归拟合进行条件化,并使用颜色表示它

sns.lmplot(data=penguins, x="bill_length_mm", y="bill_depth_mm", hue="species")
../_images/lmplot_4_0.png

根据另一个变量对回归拟合进行条件化,并在子图中拆分它

sns.lmplot(
    data=penguins, x="bill_length_mm", y="bill_depth_mm",
    hue="species", col="sex", height=4,
)
../_images/lmplot_6_0.png

使用列和行在两个变量上进行条件化

sns.lmplot(
    data=penguins, x="bill_length_mm", y="bill_depth_mm",
    col="species", row="sex", height=3,
)
../_images/lmplot_8_0.png

允许轴限制在子图之间变化

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),
)
../_images/lmplot_10_0.png