(数据科学学习手札62)详解seaborn中的kdeplot、rugplot、distplot与jointplot

  seaborn是Python中基于matplotlib的具有更多可视化功能和更优美绘图风格的绘图模块,当我们想要探索单个或一对数据分布上的特征时,可以使用到seaborn中内置的若干函数对数据的分布进行多种多样的可视化,本文以jupyter notebook为编辑工具,针对seaborn中的kdeplot、rugplot、distplot和jointplot,对其参数设置和具体用法进行详细介绍。 

 

二、kdeplot

  seaborn中的kdeplot可用于对单变量和双变量进行核密度估计并可视化,其主要参数如下:

  data:一维数组,单变量时作为唯一的变量

  data2:格式同data2,单变量时不输入,双变量作为第2个输入变量

  shade:bool型变量,用于控制是否对核密度估计曲线下的面积进行色彩填充,True代表填充

  vertical:bool型变量,在单变量输入时有效,用于控制是否颠倒x-y轴位置

  kernel:字符型输入,用于控制核密度估计的方法,默认为'gau',即高斯核,特别地在2维变量的情况下仅支持高斯核方法

  legend:bool型变量,用于控制是否在图像上添加图例

  cumulative:bool型变量,用于控制是否绘制核密度估计的累计分布,默认为False

  shade_lowest:bool型变量,用于控制是否为核密度估计中最低的范围着色,主要用于在同一个坐标轴中比较多个不同分布总体,默认为True

  cbar:bool型变量,用于控制是否在绘制二维核密度估计图时在图像右侧边添加比色卡

  color:字符型变量,用于控制核密度曲线色彩,同plt.plot()中的color参数,如'r'代表红色

  cmap:字符型变量,用于控制核密度区域的递进色彩方案,同plt.plot()中的cmap参数,如'Blues'代表蓝色系

  n_levels:int型,在而为变量时有效,用于控制核密度估计的区间个数,反映在图像上的闭环层数

  下面我们来看几个示例来熟悉kdeplot中上述参数的实际使用方法:

  首先我们需要准备数据,本文使用seaborn中自带的鸢尾花数据作为示例数据,因为在jupyter notebook中运行代码,所以加上魔术命令%matplotlib inline使得图像得以在notebook中显示

import seaborn as sns sns.set(color_codes=True) import matplotlib.pyplot as plt %matplotlib inline #加载seaborn自带的鸢尾花数据集,格式为数据框 iris = sns.load_dataset('iris') #分离出setosa类的花对应的属性值 setosa = iris.loc[iris.species == "setosa"].reset_index(drop=True) #分离出virginica类的花对应的属性值 virginica = iris.loc[iris.species == "virginica"].reset_index(drop=True)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzyjw.html