seaborn 笔记: 绘制分类数据
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了seaborn 笔记: 绘制分类数据相关的知识,希望对你有一定的参考价值。
0 导入库
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(style="ticks", color_codes=True)
1 scatterplot
catplot() 中数据的默认表示。
数据如下:
tips = sns.load_dataset("tips")
tips
1.1 默认情况
sns.catplot(x="day", y="total_bill", data=tips)
1.2 控制抖动
jitter 参数控制抖动的大小或完全禁用它:
sns.catplot(x="day", y="total_bill", data=tips,
jitter=0.7)
sns.catplot(x="day", y="total_bill", data=tips,
jitter=False)
1.3 swamplot
第二种防止重叠的方法使用算法沿分类轴调整点。 它可以更好地表示观察的分布,尽管它只适用于相对较小的数据集。
这种plot被称为“beeswarm”,在 seaborn 中由 swarmplot() 绘制,或者通过在 catplot() 中设置 kind="swarm" 来绘制:
sns.catplot(x="day", y="total_bill", data=tips,
kind='swarm')
sns.swarmplot(x="day", y="total_bill", data=tips)
1.4 添加一个维度
(catplot只支持hue,不支持size和style)
sns.catplot(x="day", y="total_bill", data=tips,kind='swarm',
hue='sex')
1.5 横置图像
交换变量的赋值
sns.catplot(x="total_bill", y="day", data=tips,kind='swarm',
hue='sex')
1.6 改变几个catalog的顺序
sns.catplot(x="day", y="total_bill", data=tips,kind='swarm',hue='sex',
order=['Thur','Sun','Fri','Sat'])
2 箱式图
2.1 基本绘图
sns.catplot(x="total_bill", y="day", data=tips,
kind='box')
2.2. 用hue进行分类
sns.catplot(x="total_bill", y="day", data=tips,kind='box',
hue='sex')
3 Boxen
和Box很像,但是提供了更多的信息
diamonds = sns.load_dataset("diamonds")
sns.catplot(x="color", y="price", kind="boxen",
data=diamonds.sort_values("color"))
4 violinplot
sns.catplot(x="total_bill", y="day",data=tips,
kind="violin")
4.1 hue
sns.catplot(x="total_bill", y="day",kind="violin", data=tips,
hue='sex')
4.1.1 hue+split
如果hue是二分类的话,可以加split=True,来更好地利用空间
sns.catplot(x="total_bill", y="day",kind="violin", data=tips,
hue='sex',split=True)
5 双图叠加
5.1 swam+violin
g=sns.catplot(x="total_bill", y="day",kind="violin", data=tips,split=True)
sns.swarmplot(x="total_bill", y="day", color='k',size=3,data=tips,
ax=g.ax)
6 柱状图
6.0 数据集
titanic = sns.load_dataset("titanic")
titanic
6.1 基础柱状图
当每个类别中有多个观察值时,将计算估计值周围的置信区间(柱状图的值是平均值)
sns.catplot(x="sex", y="survived", kind="bar", data=titanic)
6.2 hue进行分类
sns.catplot(x="sex", y="survived", kind="bar", data=titanic,
hue="class")
6.3 不计算平均值,计算数量
sns.catplot(x="sex", kind="count", data=titanic,
hue="class")
sns.countplot(x="sex", data=titanic, hue="class")
7 pointplot
和柱状图想要说明的内容是类似的,不过这里用点和线表示了均值和置信区间
sns.catplot(x="sex", y="survived", hue="class", data=titanic,
kind="point")
7.1 markers
设置不同hue中点的形状
sns.catplot(x="sex", y="survived", hue="class", data=titanic, kind="point",
markers=['*','+','o'])
7.2 linestyles
sns.catplot(x="sex", y="survived", hue="class", data=titanic, kind="point",
linestyles=['-','--',':'])
以上是关于seaborn 笔记: 绘制分类数据的主要内容,如果未能解决你的问题,请参考以下文章