seaborn.
regplot
(*, x=None, y=None, data=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, dropna=True, x_jitter=None, y_jitter=None, label=None, color=None, marker='o', scatter_kws=None, line_kws=None, ax=None)¶绘图数据和线性回归模型拟合。
估计回归模型有许多相互排斥的选项。看到了吗 tutorial 更多信息。
输入变量。如果是字符串,则应与中的列名相对应 data
. 熊猫的名称将与系列一起使用。
整洁(“长格式”)数据帧,其中每列是一个变量,每行是一个观察值。
将此函数应用于 x
并绘制出估算结果。这在以下情况下很有用 x
是离散变量。如果 x_ci
给出了该估计的自举和置信区间。
垃圾箱 x
将变量转化为离散的数据箱,然后估计中心趋势和置信区间。这种分块只影响散点图的绘制方式;回归仍然适用于原始数据。此参数可解释为大小均匀(无需间隔)的料仓数量或料仓中心的位置。使用此参数时,表示 x_estimator
是 numpy.mean
.
绘制离散值的中心趋势时使用的置信区间的大小 x
.如果 "ci"
,遵从 ci
参数。如果 "sd"
,跳过自举,并显示每个箱中观测值的标准偏差。
如果 True
,绘制一个包含基本观测值的散点图(或 x_estimator
价值观)。
如果 True
,估计并绘制与 x
和 y
变量。
回归估计的置信区间大小。这将使用围绕回归线的半透明条带绘制。置信区间是使用bootstrap估计的;对于大型数据集,建议通过将此参数设置为None来避免这种计算。
用于估计 ci
. 默认值试图平衡时间和稳定性;您可能希望为绘图的“最终”版本增加此值。
data
可选中的变量名如果 x
和 y
观测值嵌套在采样单位中,可在此处指定。在计算置信区间时,通过对单位和观测值(单位内)进行重采样的多级引导,将考虑到这一点。否则,这不会影响如何估计或绘制回归。
种子或随机数发生器可复制的引导。
如果 order
大于1,使用 numpy.polyfit
估计多项式回归。
如果 True
,假设 y
是一个二进制变量,使用 statsmodels
估计logistic回归模型。请注意,这比线性回归的计算量大得多,因此您可能希望减少引导重采样的数量 (n_boot
)或设置 ci
一点也没有。
如果 True
使用 statsmodels
估计非参数lowess模型(局部加权线性回归)。请注意,目前无法为此类模型绘制置信区间。
如果 True
使用 statsmodels
稳健回归。这将降低异常值的权重。请注意,这比标准线性回归的计算量要大得多,因此您可能希望减少引导重采样的数量 (n_boot
)或设置 ci
一点也没有。
如果 True
,估计y~log(x)形式的线性回归,但在输入空间绘制散点图和回归模型。请注意 x
必须是积极的,这样才能起作用。
data
或矩阵字符串输入混杂变量回归出 x
或 y
打印前的变量。
如果 True
,回归线受数据限制。如果 False
,它延伸到 x
轴限制。
将此大小的均匀随机噪声添加到 x
或 y
变量。拟合回归后,噪声被添加到数据的副本中,并且只影响散点图的外观。这在绘制采用离散值的变量时非常有用。
应用于散点图或回归线的标签(如果 scatter
是 False
)用于图例。
用颜色表示;用颜色表示所有的元素 scatter_kws
或 line_kws
.
用于散点图图示符的标记。
要传递到的其他关键字参数 plt.scatter
和 plt.plot
.
轴对象,否则使用当前轴。
包含绘图的轴对象。
参见
笔记
这个 regplot()
和 lmplot()
功能是密切相关的,但前者是一个轴级功能,后者是一个图形级功能,结合 regplot()
和 FacetGrid
.
它也很容易组合 regplot()
和 JointGrid
或 PairGrid
通过 jointplot()
和 pairplot()
函数,尽管它们并不直接接受所有 regplot()
的参数。
实例
绘制数据帧中两个变量之间的关系:
>>> import seaborn as sns; sns.set_theme(color_codes=True)
>>> tips = sns.load_dataset("tips")
>>> ax = sns.regplot(x="total_bill", y="tip", data=tips)
使用定义为numpy数组的两个变量打印;使用不同的颜色:
>>> import numpy as np; np.random.seed(8)
>>> mean, cov = [4, 6], [(1.5, .7), (.7, 1)]
>>> x, y = np.random.multivariate_normal(mean, cov, 80).T
>>> ax = sns.regplot(x=x, y=y, color="g")
用两个定义为系列的变量绘图;使用不同的标记:
>>> import pandas as pd
>>> x, y = pd.Series(x, name="x_var"), pd.Series(y, name="y_var")
>>> ax = sns.regplot(x=x, y=y, marker="+")
使用68%置信区间(与估计的标准误差相对应),并将回归线延伸至轴限:
>>> ax = sns.regplot(x=x, y=y, ci=68, truncate=False)
离散曲线图 x
变量并添加一些抖动:
>>> ax = sns.regplot(x="size", y="total_bill", data=tips, x_jitter=.1)
离散曲线图 x
显示唯一值的均值和置信区间的变量:
>>> ax = sns.regplot(x="size", y="total_bill", data=tips,
... x_estimator=np.mean)
将连续变量划分为离散箱的绘图:
>>> ax = sns.regplot(x=x, y=y, x_bins=4)
拟合高阶多项式回归:
>>> ans = sns.load_dataset("anscombe")
>>> ax = sns.regplot(x="x", y="y", data=ans.loc[ans.dataset == "II"],
... scatter_kws={"s": 80},
... order=2, ci=None)
拟合稳健回归且不绘制置信区间:
>>> ax = sns.regplot(x="x", y="y", data=ans.loc[ans.dataset == "III"],
... scatter_kws={"s": 80},
... robust=True, ci=None)
拟合逻辑回归;抖动y变量并使用较少的引导迭代:
>>> tips["big_tip"] = (tips.tip / tips.total_bill) > .175
>>> ax = sns.regplot(x="total_bill", y="big_tip", data=tips,
... logistic=True, n_boot=500, y_jitter=.03)
使用对数(x)拟合回归模型:
>>> ax = sns.regplot(x="size", y="total_bill", data=tips,
... x_estimator=np.mean, logx=True)