我是靠谱客的博主 忧郁含羞草,最近开发中收集的这篇文章主要介绍seaborn系列 (12) | 增强箱图boxenplot(),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

    • 增强箱图
    • 函数原型
    • 参数解读
    • 案例教程
    • 案例地址

增强箱图

增强箱图又称增强盒形图,可以为大数据集绘制增强的箱图。
增强箱图通过绘制更多的分位数来提供数据分布的信息。

函数原型

seaborn.boxenplot(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, 
                  k_depth='proportion', linewidth=None, scale='exponential', 
                  outlier_prop=None, 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

width宽度: float

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

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

案例教程

案例代码已上传:Github地址

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="whitegrid")
# 读取数据
tips = sns.load_dataset("tips")
"""
案例1:
绘制一个简单的水平增强箱图
"""
sns.boxenplot(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.boxenplot(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对分组数据进行第二次分类(通过颜色区别)
注意:在增强箱图中,对hue设置后的第二次分类的效果是分离
"""
sns.boxenplot(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:
当某些箱为空时,绘制带有嵌套分组的增强箱图
"""
sns.boxenplot(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.boxenplot(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.boxenplot(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.boxenplot(x="day", y="total_bill", data=tips)
sns.stripplot(x="day", y="total_bill", data=tips,
              size=4, jitter=True, color="gray")
plt.show()

在这里插入图片描述

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

在这里插入图片描述

案例地址

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

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

最后

以上就是忧郁含羞草为你收集整理的seaborn系列 (12) | 增强箱图boxenplot()的全部内容,希望文章能够帮你解决seaborn系列 (12) | 增强箱图boxenplot()所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部