seaborn可视化数据框中的多个列元素

2020-10-19 11:28:05 浏览数 (3)

seaborn提供了一个快速展示数据库中列元素分布和相互关系的函数,即pairplot函数,该函数会自动选取数据框中值为数字的列元素,通过方阵的形式展现其分布和关系,其中对角线用于展示各个列元素的分布情况,剩余的空间则展示每两个列元素之间的关系,基本用法如下

代码语言:javascript复制
>>> df = pd.read_csv("penguins.csv")
>>> sns.pairplot(df)
>>> plt.show()

输出结果如下

函数自动选了数据框中的3列元素进行可视化,对角线上,以直方图的形式展示每列元素的分布,而关于对角线堆成的上,下半角则用于可视化两列之间的关系,默认的可视化形式是散点图,该函数常用的参数有以下几个

#### 1. corner

上下三角矩阵区域的元素实际上是重复的,通过corner参数,可以控制只显示图形的一半,避免重复,用法如下

代码语言:javascript复制
>>> sns.pairplot(df, corner=True)
>>> plt.show()

输出结果如下

#### 2. kind和diag_kind

这两个参数用于指定上下三角区域和对角线区域的可视化方式,用法如下

代码语言:javascript复制
>>> sns.pairplot(df, kind='reg', diag_kind='kde')
>>> plt.show()

输出结果如下

#### 3、 x_vars和y_vars

默认情况下,程序会对数据框中所有的数值列进行可视化,通过x_vars和y_vars可以用列名称来指定我们需要可视化的列,用法如下

代码语言:javascript复制
>>> sns.pairplot(df, x_vars=['bill_length_mm', 'bill_depth_mm'], y_vars=['bill_length_mm', 'bill_depth_mm'])
>>> plt.show()

输出结果如下

#### 4. hue

hue参数用于分组变量的颜色映射,用法如下

代码语言:javascript复制
>>> sns.pairplot(df, hue='species')
>>> plt.show()

输出结果如下

对于pairplot函数而言,我们还可以单独指定上下三角区域和对角线区域的可视化形式,示例如下

代码语言:javascript复制
>>> g = sns.pairplot(df, hue='species')
>>> g.map_lower(sns.kdeplot)
>>> g.map_diag(sns.histplot)
>>> g.map_upper(sns.regplot)
>>> plt.show()

输出结果如下

通过pairpplot函数,可以同时展示数据框中的多个数值型列元素的关系,在快速探究一组数据的分布时,非常的好用。

0 人点赞