【Seaborn】sns.catplot() 函数:分类数据可视化、 分类图表(stripplot、swarmplot、boxplot、violinplot、barplot、pointplot)

Seaborn分类数据可视化详解
该文章已生成可运行项目,

sns.catplot() —— 分类数据可视化(Categorical Plot)

seaborn.catplot()分类数据可视化的通用函数,支持多种 分类图表stripplotswarmplotboxplotviolinplotbarplotpointplot),适用于 类别数据分析(EDA)


1. 语法

import seaborn as sns

sns.catplot(data=None, x=None, y=None, hue=None, kind="strip", col=None, row=None)

主要参数

参数作用
dataDataFrame 数据集
x分类变量
y数值变量
hue按类别分色
kind图表类型stripswarmboxviolinbarpoint
col / row生成多个子图

2. kind 参数(支持的图表类型)

kind作用
"strip"散点分类(默认)
"swarm"防止散点重叠(蜜蜂图)
"box"箱线图(分布分析)
"violin"小提琴图(密度估计)
"bar"条形图(类别均值 + 置信区间)
"point"点图(类别均值折线图)

3. 基本示例

3.1 kind="strip"(默认散点分类图)

import seaborn as sns
import matplotlib.pyplot as plt

# 加载数据
data = sns.load_dataset("titanic")

# 绘制散点分类图
sns.catplot(data=data, x="class", y="age", kind="strip")

plt.show()

📌 说明

  • x="class"类别变量(头等舱/二等舱/三等舱)。
  • y="age"年龄分布(点表示个体)。
    在这里插入图片描述

3.2 kind="swarm"(蜜蜂图,防止点重叠)

sns.catplot(data=data, x="class", y="age", kind="swarm")

plt.show()

📌 作用

  • kind="swarm" 调整点位置,避免重叠(适用于小数据集)。
    在这里插入图片描述

3.3 kind="box"(箱线图,显示中位数 & 异常值)

sns.catplot(data=data, x="class", y="age", kind="box")

plt.show()

📌 作用

  • kind="box" 显示数据分布、中位数、异常值
    在这里插入图片描述

3.4 kind="violin"(小提琴图,显示密度)

sns.catplot(data=data, x="class", y="age", kind="violin")

plt.show()

📌 作用

  • kind="violin" 结合箱线图和密度分布,适用于观察数据形态
    在这里插入图片描述

3.5 kind="bar"(条形图,计算均值)

sns.catplot(data=data, x="class", y="fare", kind="bar")

plt.show()

📌 作用

  • kind="bar" 计算类别数据的均值,适用于分析不同类别均值对比
    在这里插入图片描述

3.6 kind="point"(点图,趋势分析)

sns.catplot(data=data, x="class", y="fare", kind="point")

plt.show()

📌 作用

  • kind="point" 显示均值及趋势(适用于观察类别随变量变化的趋势)。
    在这里插入图片描述

4. 多子图(colrow 参数)

4.1 按列(col)拆分

sns.catplot(data=data, x="class", y="age", kind="box", col="sex")

plt.show()

📌 作用

  • col="sex"按性别拆分子图
    在这里插入图片描述

4.2 按行(row)拆分

sns.catplot(data=data, x="class", y="age", kind="violin", row="sex")

plt.show()

📌 作用

  • row="sex"按性别拆分子图(纵向排列)。
    在这里插入图片描述

5. sns.catplot() vs 其他分类图

sns.catplot()sns.boxplot() / sns.violinplot() / sns.barplot()
默认类型kind="strip"固定图表类型
支持 col/row 多子图
适用于分类数据可视化单个类别分析

6. 总结

sns.catplot() 适用于分类数据的可视化,支持 多种图表类型
常见参数

  • kind="box"(箱线图),kind="violin"(密度分析)。
  • hue 按类别分色,col / row 生成多个子图
本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

彬彬侠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值