51个图表,完美展示数据分布关系!

本节介绍seaborn展示数据分布关系的图表(Distribution plots)的实现,该类图表用于展示数据集的分布规律,帮助快速获取数据多方面信息,例如,观测值的范围、中心趋势、是否存在某个方向上严重偏斜、是否存在双峰性、是否存在显著的异常值等等。

分布关系的图表包含:直方图、核密度估计(KDE)图、累积曲线图和轴须图(rug plot)。


直方图

直方图旨在通过分箱和计数观测值来近似生成数据的概率密度函数。

例如,堆积叠加直方图,

sns.displot(
    penguins,
    x="鳍长 (毫米)",
    kind='hist',
    hue="企鹅的种类",  #hue指定分组
    palette=["#006a8e", "#b1283a", "#a8a6a7"],
    multiple="stack")  #堆叠叠加

例如,百分比堆积,每个箱子中各组百分比累加为1,

sns.displot(
    penguins,
    x="鳍长 (毫米)",
    kind='hist',
    hue="企鹅的种类",  #hue指定分组
    palette=["#006a8e", "#b1283a", "#a8a6a7"],
    multiple="fill")  #百分比堆积


核密度估计图

核密度估计(KDE)图功能类似上文8.1 章节的直方图,区别于直方图使用离散箱,KDE图使用高斯核(Gaussian kernel)对观测值进行平滑处理,生成连续的密度估计,KDE图更清晰且更易解释。

例如,图层叠加,

sns.displot(
    penguins,
    x="鳍长 (毫米)",
    kind='kde',
    hue="岛屿",  #按照变量"岛屿"分组
    fill=True,
    multiple="layer",  #指定按照'layer'叠加
    palette=["#006a8e", "#b1283a", "#a8a6a7"],
)

例如,堆积叠加,

sns.displot(
    penguins,
    x="鳍长 (毫米)",
    kind='kde',
    hue="岛屿",
    fill=True,
    multiple="stack",  #"stack"设置堆积叠加
    palette=["#006a8e", "#b1283a", "#a8a6a7"],
)

例如,百分比叠加,

sns.displot(
    penguins,
    x="鳍长 (毫米)",
    kind='kde',
    hue="岛屿",
    fill=True,
    multiple="fill",  #"fill"设置百分比叠加
    palette=["#006a8e", "#b1283a", "#a8a6a7"],
)


累积曲线图

累积曲线图,全称“经验累积分布函数”(ecdf,empirical cumulative distribution functions),反映数据集中小于某值的观测比例,提供直观的分布图。

 例如,分组累积曲线图,

sns.displot(data=penguins,
            x="鳍长 (毫米)",
            hue="企鹅的种类", # hue设置分组
            kind="ecdf",
            palette=["#006a8e", "#b1283a", "#a8a6a7"])

例如,补集累积分布函数,

sns.displot(
    data=penguins,
    x="鳍长 (毫米)",
    hue="企鹅的种类",
    complementary=True,  #complementary开启补集累积分布函数complementary CDF (1 - CDF)
    kind="ecdf",
    palette=["#006a8e", "#b1283a", "#a8a6a7"])


轴须图

轴须图(rug plot)通过在x轴和y轴上绘制刻度以显示变量的位置,以补充其他图表。

例如,散点图和轴须图一起用,

sns.scatterplot(#使用axes-level方法:如上文的scatterplot()、lineplot()等
    data=penguins,  
    x="鳍长 (毫米)",
    y="喙长 (毫米)",
    hue="企鹅的种类",
    style="企鹅的种类",
    palette=["#006a8e", "#b1283a", "#a8a6a7"],
    s=200)
sns.rugplot(
    data=penguins,
    x="鳍长 (毫米)",  #x轴轴须图
    y="喙长 (毫米)",  #y轴轴须图
    hue="企鹅的种类",
    palette=["#006a8e", "#b1283a", "#a8a6a7"],
    legend=False  #关闭轴轴须图图例
)

再例如,kde图和轴须图一起使用,

sns.kdeplot(#使用axes-level方法:kdeplot()
    data=penguins,  
    x="鳍长 (毫米)",  #x轴轴须图
    hue="企鹅的种类",
    fill=True,
    multiple="layer",
    palette=["#006a8e", "#b1283a", "#a8a6a7"])
sns.rugplot(data=penguins,
            x="鳍长 (毫米)",
            hue="企鹅的种类",
            palette=["#006a8e", "#b1283a", "#a8a6a7"],
            legend=False)  #关闭轴轴须图图例


直方图、核密度估计(KDE)图、累积曲线图和轴须图(rug plot)更多变种,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_21478261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值