【Seaborn】sns.boxplot() 函数:箱线图、箱型图

sns.boxplot() —— 箱线图(Box Plot)

seaborn.boxplot() 用于 可视化数据的分布和统计特征,可以显示 中位数、四分位数、异常值,适用于 数据分析(EDA)和异常值检测


1. 语法

import seaborn as sns

sns.boxplot(data=None, x=None, y=None, hue=None, order=None, palette=None, orient=None, width=0.8)

主要参数

参数作用
dataDataFrame 数据集
x分类变量
y数值变量
hue按类别分色
order自定义类别顺序
palette颜色方案(如 "Blues""pastel"
orient'v' 竖向(默认) 或 'h' 横向
width控制箱子的宽度(默认 0.8

2. 什么是箱线图?

箱线图(Box Plot) 展示 数据的分布情况,包含:

  • 中位数(Median):箱子中间的横线。
  • 第一四分位数(Q1, 25%):箱子的底部。
  • 第三四分位数(Q3, 75%):箱子的顶部。
  • 异常值(Outliers):超出 1.5 * IQR 的点(IQR = Q3 - Q1)。

3. 基本示例

3.1 绘制箱线图

import seaborn as sns
import matplotlib.pyplot as plt

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

# 绘制箱线图
sns.boxplot(data=data, x="class", y="age")

plt.title("Age Distribution by Class")
plt.show()

📌 说明

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

3.2 按类别显示(hue 参数)

sns.boxplot(data=data, x="class", y="age", hue="sex")

plt.show()

📌 作用

  • hue="sex"不同性别用不同颜色表示
    在这里插入图片描述

4. 进阶用法

4.1 横向箱线图(orient="h"

sns.boxplot(data=data, x="age", y="class", orient="h")

plt.show()

📌 作用

  • orient="h"横向箱线图(适用于类别较长时)。
    在这里插入图片描述

4.2 自定义类别顺序(order 参数)

order = ["Third", "Second", "First"]
sns.boxplot(data=data, x="class", y="age", order=order)

plt.show()

📌 作用

  • order=["Third", "Second", "First"] 指定类别顺序
    在这里插入图片描述

4.3 设置颜色(palette

sns.boxplot(data=data, x="class", y="age", hue="sex", palette="pastel")

plt.show()

📌 可选调色板

  • "pastel""Blues""coolwarm""magma"
    在这里插入图片描述

5. sns.boxplot() vs sns.violinplot()

sns.boxplot()sns.violinplot()
作用显示中位数、四分位数、异常值显示数据分布密度
适用场景异常值检测观察数据分布
是否有密度信息❌ 没有✅ 有
sns.violinplot(data=data, x="class", y="age", hue="sex", split=True)

plt.show()

在这里插入图片描述


6. 总结

sns.boxplot() 适用于数据分布可视化、异常值检测
常见参数

  • hue 按类别分色,palette 控制颜色,order 自定义类别顺序。
  • orient="h" 横向箱线图width=0.6 调整箱子宽度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

彬彬侠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值