之前写过seaborn的的散点图,是relplot函数,参考:
- seaborn实例 - relplot - 散点图
今天又发现另一个画散点图的函数,也有应用场景,我们来看看。
seaborn.stripplot
seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=True, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)
Draw a scatterplot where one variable is categorical.
当我们的数据中,有一个维度/指标是分类的,我理解就是文本型的枚举值,也就是字符串,不是数值了
官方介绍:seaborn.stripplot
小栗子
先看看我们使用的数据集
tips = sns.load_dataset("tips")
这是小费的数据,上一次使用过
ax = sns.stripplot(x=tips["total_bill"])
这里,我们只指定了一个x
,我们先来看看这里画出来的是什么?
我们x
指定的是total_bill,账单费用,这里X轴就是账单费用,然后,每一个点都是每一笔账单的总费用,也就是,所有账单费用的分布情况
同理,我们可以切换为Y轴展示
ax = sns.stripplot(y=tips["total_bill"])
这里就切换为纵坐标了
下面,我们来引入一个categorical variable
来按照不同性别看账单费用的分布情况
sns.stripplot(x='sex' , y='total_bill' , data=tips)
jitter
这个参数,我不太清楚应该翻译成啥,是稀疏性?反正我测试下来是,这个数值越大,数据越分散,我们来试试
sns.stripplot(x='sex' , y='total_bill' , data=tips , jitter=0.1)
当我们把jitter
调整到0.5的时候,
sns.stripplot(x='sex' , y='total_bill' , data=tips , jitter=0.5)
linewidth
可以用来设置边框
sns.stripplot(x='sex' , y='total_bill' , data=tips , linewidth=1)
hue
增加一个维度来区分颜色
sns.stripplot(x='day' , y='total_bill' , hue='sex' , data=tips)
默认的话,是会区分颜色的,如果我们增加了hue参数,就会根据hue来区分颜色了
dodge
这个是和hue
配合使用的参数,会将维度拆分出来
上面,我们根据性别做了拆分,他们俩是组合在一起显示的,使用dodge
参数,就可以将他们俩分开显示了
sns.stripplot(x='day' , y='total_bill' , hue='sex' , dodge=True , data=tips)
好了,先到这样,还有些其他参数后面具体场景在学习