文章目录
分布分析(了解变量的分布)是数据分析和建模非常重要且必要的步骤,也是统计学中最基本的方法。
1. 分布统计绘图API概述
分布就是了解数据变量的分布规律的。seaborn中“分布”绘图函数共5个:
displot():通过kind参数指定为"hist",“kde”,“ecdf”。默认为hist。histplot():直方图kdeplot():核密度分布ecdfplot():累积分布rugplot():地毯图(用短线密度表示分布)。rugplot可以在其他图形(hist,kde,ecdf)中显示。
- displot函数为figure级函数,返回FacetGrid对象,类似于figure。
- histplot, kdeplot, ecdfplot和rugplot函数为axes级函数,返回axes对象。
- 注意rugplot函数和另外几个函数有一点不太相同。displot的kind参数不支持rug,但是displot函数有个rug参数,可以在其他图绘制的时候同时绘制rug图。
figure级函数与axes级函数区别见Seaborn系列(一):绘图基础、函数分类、长短数据类型支持
2. displot单变量分布图(直方图、核密度、累积分布)
sns.displot(x=None,y=None,data=None,kind="hist"):根据kind绘制分布图。
常用参数简介:displot函数同样可以用数组、字典和DataFrame作为数据。
- data参数:data为类字典数据或DataFrame。数组为参数时不需要指定data。
- x,y参数:只指定x时,表示统计单变量x的分布。x,y都指定时表示双变量分布。
- kind参数:绘图类型。“hist”:直方图,"kde"核密度图,"ecdf"累积分布图。
分组聚合参数
- hue参数:用不同颜色对数组分组。hue可以是列表或者data的key。hue的每一个数据绘制一组分布图,给一个图例标签。
- row,col:把row,col指定的数据按照行或列排列到不同的子图。
- palette参数:指定hue分组的每组曲线的颜色。
legend、height、aspect参数与relplot类似
- legend参数:图例显示方式。False不现实图例。brief则hue和size的分组都取等间距样本作为图例。full则把分组内所有数值都显示为图例。auto则自动选择brief或full。
- height参数:每个子图的高度(单位inch)
- aspect参数:宽度=aspect×高度
以企鹅penguins数据集为例。(由物种、岛、鸟嘴长度、鸟嘴宽度、鳍足长度、体重、性别组成。)
>>> penguins=sns.load_dataset("penguins")
>>> penguins
species island bill_length_mm ... flipper_length_mm body_mass_g sex
0 Adelie Torgersen 39.1 ... 181.0 3750.0 Male
1 Adelie Torgersen 39.5 ... 186.0 3800.0 Female
2 Adelie Torgersen 40.3 ... 195.0 3250.0 Female
3 Adelie Torgersen NaN ... NaN NaN NaN
4 Adelie Torgersen 36.7 ... 193.0 3450.0 Female
.. ... ... ... ... ... ... ...
339 Gentoo Biscoe NaN ... NaN NaN NaN
340 Gentoo Biscoe 46.8 ... 215.0 4850.0 Female
341 Gentoo Biscoe 50.4 ... 222.0 5750.0 Male
342 Gentoo Biscoe 45.2 ... 212.0 5200.0 Female
343 Gentoo Biscoe 49.9 ... 213.0 5400.0 Male
[344 rows x 7 columns]
2.1 displot函数绘制单变量分布图
import matplotlib.pyplot as plt
import seaborn as sns
penguins=sns.load_dataset('penguins')
sns.displot(data=penguins,x="bill_length_mm")
sns.displot(data=penguins,x="bill_length_mm",kind='kde')
sns.displot(data=penguins,x="bill_length_mm",kind='ecdf')
plt.show()



本文详细介绍了Seaborn库中的分布图绘制,包括displot、histplot、kdeplot、ecdfplot和rugplot函数的使用。从单变量分布到双变量分布,再到分组统计和样式设置,全面讲解了直方图、核密度图和累积分布图的绘制方法,并通过企鹅数据集实例展示了各种分布图的创建过程。此外,还探讨了直方图的统计方式、核密度图的平滑参数以及rug图的绘制技巧。
最低0.47元/天 解锁文章
229

被折叠的 条评论
为什么被折叠?



