seaborn系列 (10) | 盒形图boxplot()

盒形图

盒形图又称箱图,主要用来显示与类别相关的数据分布。

函数原型

seaborn.boxplot(x=None, y=None, hue=None, 
                data=None, order=None, hue_order=None, 
                orient=None, color=None, palette=None, 
                saturation=0.75, width=0.8, dodge=True, 
                fliersize=5, linewidth=None, whis=1.5, 
                notch=False, ax=None, **kwargs)

参数解读

在这里插入图片描述

x,y,hue:数据字段变量名(如上表,date,name,age,sex为数据字段变量名)
作用:根据实际数据,x,y常用来指定x,y轴的分类名称,
hue常用来指定第二次分类的数据类别(用颜色区分)

data: DataFrame,数组或数组列表

order,hue_order:字符串列表
作用:显式指定分类顺序,eg. order=[字段变量名1,字段变量名2,...]

orient:方向:v或者h
作用:设置图的绘制方向(垂直或水平),
如何选择:一般是根据输入变量的数据类型(dtype)推断出来。

color:matplotlib 颜色

palette:调色板名称,list类别或者字典
作用:用于对数据不同分类进行颜色区别

saturation 饱和度:float

dodge:bool
作用:若设置为True则沿着分类轴,将数据分离出来成为不同色调级别的条带,
否则,每个级别的点将相互叠加

size:float
作用:设置标记大小(标记直径,以磅为单位)

edgecolor:matplotlib color,gray
作用:设置每个点的周围线条颜色

linewidth:float
作用:设置构图元素的线宽度

案例教程

案例代码已上传:Github地址

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例1:
横向的箱图
"""
sns.boxplot(x=tips["total_bill"])
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例2:
根据数据情况,指定x变量名进行数据分组,y变量进行数据分布
"""
sns.boxplot(x="day", y="total_bill", data=tips)
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例3:
指定hue对分组数据进行第二次分类(通过颜色进行区别)
"""
sns.boxplot(x="day", y="total_bill", hue="smoker",
            data=tips, palette="Set3")
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例4:
设置linewidth 来指定边框的粗细
"""
sns.boxplot(x="day", y="total_bill", hue="time",
            data=tips, linewidth=2.5)
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
tips = sns.load_dataset("tips")
"""
案例5:
通过设置order来显式指定分类顺序
order=[字段变量名1,字段变量名2,...]
"""
sns.boxplot(x="time", y="tip", data=tips,
            order=["Dinner", "Lunch"])
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
iris = sns.load_dataset("iris")
"""
案例 a
"""
iris[:5]

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
iris = sns.load_dataset("iris")
"""
案例6:
为DataFrame中的每一个变量绘制一个方框图
结合案例a
"""
sns.boxplot(data=iris, orient="h", palette="Set2")
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
iris = sns.load_dataset("iris")
"""
案例7:
在箱图上绘制分簇散点图
"""
sns.boxplot(x="day", y="total_bill", data=tips)
sns.swarmplot(x="day", y="total_bill", data=tips, color=".25")
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(style="whitegrid")
# 构建数据
iris = sns.load_dataset("iris")
"""
案例8:
利用catplot()来实现boxplot()的效果(通过指定kind="box")
"""
sns.catplot(x="sex", y="total_bill",
            hue="smoker", col="time",
            data=tips, kind="box",
            height=4, aspect=.7);
plt.show()

在这里插入图片描述

案例地址

上述案例代码已上传:Github地址
Github地址https://github.com/Vambooo/SeabornCN

更多技术干货在公众号:数据分析与可视化学研社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

脑机接口社区

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

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

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

打赏作者

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

抵扣说明:

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

余额充值