【Seaborn 学习笔记】P3. 分类图 catplot

发布时间:2026/7/26 18:58:02
【Seaborn 学习笔记】P3. 分类图 catplot 分类图 sns.catplot 简介catplot 是用来画“分类变量之间关系”的 Figure-level 函数体现不同类别之间有什么差异水平 / 分布同样使用 FacetGrid 调整方式参数介绍catplot 的 hue 分组映射、分面逻辑也与 relplot 完全一致sns.catplot( datadf, # 数据 kindstrip, # box / violin / bar / strip 或 swarm x横轴变量, # 横轴 y纵轴变量, # 纵轴 hue颜色分组特征, # 颜色区分所有 kind 均支持 col按列分面特征, # 按列分面 col_wrap... # 一行最多的子图数量 row按行分面特征, # 按行分面 )常用 kind 参数值同样类似于 relplot使用 kind 来绘制指定的图kind底层函数用途boxboxplot绘制箱线图看分布、中位数、异常值violinviolinplot绘制小提琴图看密度分布barbarplot绘制条形图看均值带置信区间stripstripplot绘制抖点图分类散点图看原始数据点swarmswarmplot绘制非重叠分类散点图看原始点不重叠箱线图绘制 kindbox常用参数​ sns.catplot( datadf, kindbox, # 箱线图 x横轴变量, y纵轴变量, hue颜色分组特征, notchFalse, # 显示置信区间缺口默认为 False 不显示, 中位数的 95% 置信区间 dodgeTrue, # 不同 hue 分组并排显示默认为 True 并排False 时重叠 whis1.5, # 控制须的长度定义异常值的阈值在 [Q1 - whis * IQR, Q3 whis * IQR] 范围外的为异常值whis 默认为 1.5 showfliersTrue, # 默认显示异常值False 则不显示 )异常值[Q1 - whis * IQR, Q3 whis * IQR] 范围外的为异常值其中 Q1 为下四分位数Q3 为上四分位数IQR 为 Q3 - Q1示例使用 tips 数据集横轴为 day纵轴为 total_bill按 time 分组绘制箱线图1默认 notchFalse 不显示置信区间缺口, dodgeTrue 不同分组并排显示, whis1.5import seaborn as sns import matplotlib.pyplot as plt df sns.load_dataset(tips) print(df.head()) sns.catplot( datadf, kindbox, xday, ytotal_bill, huetime, ) plt.show()绘制图像如下2notchTrue, whis1.25对比 dodge 为 True 与 False 的情形import seaborn as sns import matplotlib.pyplot as plt df sns.load_dataset(tips) print(df.head()) sns.catplot( datadf, kindbox, xday, ytotal_bill, huetime, notchTrue, # 显示置信区间缺口 whis1.25, # 改变异常值的阈值令 whis1.25 dodgeTrue, # 不同分组并排显示 # dodgeFalse, # 不同分组重叠显示 ) plt.show()绘图结果如下左dodgeTrue 并排显示右dodgeFalse 重叠显示小提琴图绘制 kindviolin小提琴图 箱线图 核密度估计KDE既展示分位数类似 box又展示数据在不同取值上的密度分布常用参数​ sns.catplot( datadf, kindviolin, # 小提琴图 x横轴变量, y纵轴变量, hue颜色分组特征, )示例条形图绘制 kindbarSeaborn 的 barplot 默认展示的是均值 mean 和 95% 置信区间而不是求和 Sum常用参数​ sns.catplot( datadf, kindbar, # 条形图 x横轴变量, y纵轴变量, hue颜色分组特征, )示例抖点图绘制 kindstrip常用参数​ sns.catplot( datadf, kindstrip, # 抖点图 x横轴变量, y纵轴变量, hue颜色分组特征, )strip 与 swarm 的区别strip数据点会垂直抖动但可能重叠swarm数据点会调整位置保证不重叠样本量大时可能会很宽示例非重叠分类散点图绘制 kindswarm常用参数​ sns.catplot( datadf, kindswarm, x横轴变量, y纵轴变量, hue颜色分组特征, )示例