五分钟学会python_Python可视化 | Seaborn5分钟入门(五)——lmplot

微信公众号:「Python读财」

如有问题或建议,请公众号留言

Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。

1460000021516986

注:所有代码均在IPython notebook中实现

lmplot(回归图)

lmplot是用来绘制回归图的,通过lmplot我们可以直观地总览数据的内在关系

先总览一下stripplot的API:seaborn.lmplot(x, y, data, hue=None, col=None, row=None, palette=None, col_wrap=None, size=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, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=False, x_jitter=None, y_jitter=None, scatter_kws=None, line_kws=None)

可以看到lmplot的参数还是比较多的,接下来我们就挑一些常用的来讲一下,有一些参数会涉及到一些统计学的知识。

老套路,先导入相应的包:import seaborn as sns

%matplotlib inline

sns.set(font_scale=1.5,style="white")

本次试用的数据集是Seaborn内置的tips小费数据集:data=sns.load_dataset("tips")

data.head(5)

1460000021516985

我们先来看一下lmplot是什么样的sns.lmplot(x="total_bill",y="tip",data=data)

1460000021516988

可以看到lmplot对所选数据集进行了一元线性回归,拟合出了一条最佳的直线,

接下来进入具体参数的演示。

col:根据所指定属性在列上分类

row:根据所指定属性在行上分类sns.lmplot(x="total_bill",y="tip",data=data,row="sex",col="smoker")

1460000021516987

结合我们的数据集,看上图的横纵坐标就可以明白这两个参数的用法

col_wrap:指定每行的列数,最多等于col参数所对应的不同类别的数量sns.lmplot(x="total_bill",y="tip",data=data,col="day",col_wrap=4)

1460000021516989sns.lmplot(x="total_bill",y="tip",data=data,col="day",col_wrap=2)

1460000021516990

aspect:控制图的长宽比sns.lmplot(x="total_bill",y="tip",data=data,aspect=1)

#长度比宽度等于一比一,即正方形

1460000021516991sns.lmplot(x="total_bill",y="tip",data=data,aspect=1.5)  

#长度比宽度等于1:1.5,可以看到横轴更长一点

1460000021516992

sharex:共享x轴刻度(默认为True)

sharey:共享y轴刻度(默认为True)sns.lmplot(x="total_bill",y="tip",data=data,row="sex",col="smoker",sharex=False)

#可以看到设置为False时,各个子图的x轴的5#坐标刻度是不一样的

1460000021516993

hue:用于分类sns.lmplot(x="total_bill",y="tip",data=data,hue="sex",palette="husl")

1460000021516994

ci:控制回归的置信区间(有学过统计学的同学们应该都是知道滴)#显示0.95的置信区间

sns.lmplot(x="total_bill",y="tip",data=data,ci=95)

1460000021516995

x_jitter:给x轴随机增加噪音点

y_jitter:给y轴随机增加噪音点

设置这两个参数不影响最后的回归直线sns.lmplot(x="size",y="tip",data=data,x_jitter=False)

1460000021516997sns.lmplot(x="size",y="tip",data=data,x_jitter=True)   

#可以看到刚才的一列一列的数据点被随机

#打乱了,但不会影响到最后的回归直线

1460000021516996

order:控制进行回归的幂次(一次以上即是多项式回归)sns.lmplot(x="total_bill",y="tip",data=data,order=1)  #一元线性回归

1460000021516998sns.lmplot(x="total_bill",y="tip",data=data,order=2) #次数最高为2

1460000021516999sns.lmplot(x="total_bill",y="tip",data=data,order=3) #次数最高为3

1460000021517000

还有一些参数涉及到了更深入的统计学知识,在这里就不一一介绍了,有兴趣的可以自行查看官方文档!关注我的公众号「Python读财」,后台回复「py」即可获取Python学习资源礼包,还有python学习交流群哦!

1460000021515795

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值