首先我们要知道,lmplot是用来绘制回归图的。
让我们来看看他的API:
seaborn.
lmplot
(x, y, data, hue=None, col=None, row=None, palette=None, col_wrap=None, height=5, aspect=1, markers='o', sharex=True, sharey=True, hue_order=None, col_order=None, row_order=None, legend=True, legend_out=True, 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, size=None)
可以看出,参数是相当的多啊。
x, y strings, optional:是data数据中,行的名字。
data DataFrame:那就是你的数据了。
我们用实例慢慢验证,本次试用的数据集是Seaborn内置的tips小费数据集:
第一步,导入相应的包,并输出数据
import seaborn as sns tips = sns.load_dataset("tips") print(tips.head())
输出结果:
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
我们用一下lmplot,看看绘制出来的是什么样的图:
df = sns.lmplot(x='total_bill',y='tip',data=tips)
绘制结果:
我们可以看到,lmplot对所选择的数据集做出了一条最佳的拟合直线。
hue, col, row strings:其实就是用于分类,我们可以看到,他把smoker所在列中,是否抽烟做了分类。
df = sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips)
order int, optional:
控制进行回归的幂次(一次以上即是多项式回归)
df = sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips,order=3)
col strings:
根据所指定属性在列上分类
row strings:
根据所指定属性在行上分类
df = sns.lmplot(x="total_bill", y="tip",data=tips,col="day")
df = sns.lmplot(x="total_bill", y="tip",data=tips,row="sex")
df = sns.lmplot(x="total_bill", y="tip",data=tips,row="sex",col="day")
col_wrap int, optional 指定每行的列数,最多等于col参数所对应的不同类别的数量
df = sns.lmplot(x="total_bill", y="tip",data=tips,col="day",col_wrap=3)
先暂时学习到这儿,之后慢慢补充。