Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图

一、regplot

函数:seaborn.regplot

常用参数:

x,y array,str,series,如果是字符串应该是data中对应的属性名,使用series将会在轴上显示名称。
data dataframe
x_estimator 接收可调用的映射对象,应用于每一个x的值并绘制估计图形,如果输入x_ci,将会绘制一个置信区间。默认为False
x_ci 接收“ci""sd",0-100的int,表示离散值集中趋势的置信区间大小,默认为None
ci 0-100 int,y轴置信区间大小。
scatter bool,是否绘制散点图
logistic bool.是否使用逻辑回归
lowess bool,是否使用局域回归
robust bool,是否使用稳定回归
logx bool,是否使用对数回归
{x,y}_jitter float,在x与y变量中添加均匀随机噪声,只改变图形外观。

使用逻辑回归等非默认回归时,需要提前安装statesmodels模块与pasty模块。

修改置信区间范围:

tips=sns.load_dataset('tips')
fig,axes=plt.subplots(1,2,figsize=(8,4))
#修改置信区间范围
sns.regplot(x='total_bill',y='tip',data=tips,ax=axes[0])
sns.regplot(x='total_bill',y='tip',data=tips,ci=50,ax=axes[1])

Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第1张图片

添加随机噪声的“抖动”:

fig,axes=plt.subplots(1,2,figsize=(8,4))
sns.regplot(x='size',y='tip',data=tips,ax=axes[0])
sns.regplot(x='size',y='tip',data=tips,x_jitter=0.1,ax=axes[1])

 Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第2张图片

仅绘制均值和置信区间:

fig,axes=plt.subplots(1,2,figsize=(8,4))
sns.regplot(x='size',y='tip',data=tips,ax=axes[0])
sns.regplot(x='size',y='tip',data=tips,x_estimator=np.mean,ax=axes[1])

 Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第3张图片

使用对数回归:

fig,axes=plt.subplots(1,2,figsize=(8,4))
sns.regplot(x='size',y='tip',data=tips,x_estimator=np.mean,ax=axes[0])
sns.regplot(x='size',y='tip',data=tips,x_estimator=np.mean,logx=True,ax=axes[1])

 Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第4张图片

拟合高阶多项式回归:

ans=sns.load_dataset("anscombe")
fig,axes=plt.subplots(1,2,figsize=(8,4))
sns.regplot(x="x",y="y",data=ans.loc[ans.dataset=='II'],order=1,ci=None,ax=axes[0])
sns.regplot(x="x",y="y",data=ans.loc[ans.dataset=='II'],order=2,ci=None,ax=axes[1])

 Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第5张图片

拟合稳健回归,并关掉置信区间(因为逻辑回归和稳健回归相较于简单线性回归需要更大的计算量,关掉置信区间可以提高速度):

sns.regplot(x="x",y="y",data=ans.loc[ans.dataset=='III'],robust=True,ci=None)

 Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第6张图片

二、lmplot 

函数:seaborn.lmplot

语法结构几乎与regplot相同。lmplot是将regplot与FacetGrid结合,能够绘制三变量图形和修改全局高宽比。但是该函数的输入数据只能是特征名,这就要求数据必须规范。

特殊的参数:

hue,col,row 将在不同的构面绘图,默认为None
data
palette 用于hue变量不同类别的颜色。
height float,每个刻面的高度,默认为5.
aspect float,每个刻面的宽度,默认为1
share{x,y} bool,“col”,“row",表示是否共享x或y轴。
sns.lmplot(x="total_bill",y="tip",hue="smoker",data=tips,markers=["o","x"])

Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第7张图片

分开绘制:

sns.lmplot(x="total_bill",y="tip",col="smoker",data=tips)

 Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第8张图片

修改构面高宽比:

sns.lmplot(x="total_bill",y="tip",hue="time",col="smoker",data=tips,height=4,aspect=0.8)

 Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第9张图片

绘制一个回归网格图:

sns.lmplot(x="total_bill",y="tip",row="time",col="smoker",data=tips)

 Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图_第10张图片

 

你可能感兴趣的:(python,数据分析,回归)