码迷,mamicode.com
首页 > 其他好文 > 详细

Seaborn入门系列(四)——stripplot和swarmplot

时间:2020-09-11 16:04:12      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:顺序   tips   统计图   学习   先来   xpl   info   吸引   sns   

Seaborn入门系列(四)——stripplot和swarmplot

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

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


stripplot(分布散点图)

先总览一下stripplot的API:

seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=False, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor=‘gray‘, linewidth=0, ax=None, **kwargs)

接下来就直接上代码演示,首先导入相应的包,这个大家应该都很熟悉了。

1import seaborn as sns
2%matplotlib inline
3sns.set(font_scale=1.5,style="white")
4sns.set_context({"figure.figsize":(10,8)})

下面是本次演示所使用的数据集:

1data=sns.load_dataset("tips")  
2data.head()  

技术图片
我们先来看一下stripplot是什么样的

1sns.stripplot(x="time",y="total_bill",
                 data=data) 

技术图片

可以看到stripplot的作图原理就是按照x属性所对应的类别分别展示y属性的值,=)适用于分类数据。上图就是不同饭点的账单总金额的散点图。
接下来讲解一下stripplot的主要参数,在这里我们只讲stripplot特有的一些参数,其他一些seaborn中常见参数的介绍可以翻看之前的文章。
x:设置分组统计字段
y:设置分布统计字段
jitter:当数据点重合较多时,可用该参数做一些调整

1sns.stripplot(x="time",y="total_bill",
2              data=data,jitter=True)

可以看到,之前重合的数据点分散开了
技术图片

在对time属性分类后,利用hue参数进行内部的分类

1sns.stripplot(x="time",y="total_bill",
2              data=data,jitter=True,
3              hue="day") 

技术图片
那如果我想把组内的不同类别分开来显示呢?这时候就用dodge参数
dodge:控制组内分类是否彻底分拆

1sns.stripplot(x="time",y="total_bill",
2             data=data,jitter=True,
3             hue="day",dodge=True) 

技术图片

order:对x参数所选字段内的类别进行排序以及筛选

1sns.stripplot(x="time",y="total_bill",
2              data=data,jitter=True,
3              hue="day",dodge=True,
4              order=["Dinner","Lunch"])

技术图片

可以看到x轴上原本的Dinner和Lunch类别的前后顺序变了

1sns.stripplot(x="time",y="total_bill",
2              data=data,jitter=True,
3              hue="day",dodge=True,
4              order=["Dinner"]) 

#技术图片
可以看到x轴上原本的Lunch类别没有了,stripplot的演示就到此为止


swarmplot(分簇散点图)

sns.swarmplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor=‘gray‘, linewidth=0, ax=None, **kwargs)

swarmplot和stripplot的用法其实差不多,我们来看看两种图之间有什么区别,还是使用之前的数据集。

1sns.swarmplot(x="day",y="total_bill",
                 data=data)

技术图片

可以看到swarmplot将不同类别的散点图以树状来显示,其他参数用法和stripplot一致,下面简单演示一下。

1sns.swarmplot(x="day",y="total_bill",
2              data=data,hue="sex",
3              dodge=True)

技术图片

1sns.swarmplot(x="day",y="total_bill",
2              data=data,hue="sex",
3              dodge=True,palette="husl")

技术图片

1sns.swarmplot(y="day",x="total_bill",
2              data=data,hue="sex",
3              dodge=True,palette="husl")

技术图片

有关stripplot和swarmplot的演示就到此结束了,想进一步学习的童鞋可以查看Seaborn的官方文档!以上内容是我结合官方文档和自己的一点理解写成的,有什么错误大家可以指出来并提提意见,共同交流、进步,也希望我写的这些能够给阅读完本文的你或或少的帮助!

猜您喜欢
往期精选▼

  1. Seaborn入门系列(一)——kdeplot和distplot
  2. Seaborn入门系列(二)——barplot&countplot&pointplot
  3. Seaborn入门系列(三)——boxplot和violinplot

关注我们

技术图片
1529321439513643.jpg
公众号ID:易执
一个记录成长的公众号

Seaborn入门系列(四)——stripplot和swarmplot

标签:顺序   tips   统计图   学习   先来   xpl   info   吸引   sns   

原文地址:https://blog.51cto.com/14915204/2525949

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!