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

mac2022-06-30  22

目录

盒形图函数原型参数解读案例教程案例地址

盒形图

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

函数原型

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

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

最新回复(0)