seaborn系列 (16) | 变量关系组图pairplot()

mac2022-06-30  21

目录

变量关系组图函数原型参数解读案例教程案例地址

变量关系组图

函数原型

seaborn.pairplot(data, hue=None, hue_order=None, palette=None, vars=None, x_vars=None, y_vars=None, kind='scatter', diag_kind='auto', markers=None, height=2.5, aspect=1, dropna=True,plot_kws=None, diag_kws=None, grid_kws=None, size=None)

参数解读

data: DataFrame hue:变量名称 作用:用颜色将数据进行第二次分组 hue_order:字符串列表 作用:指定调色板中颜色变量的顺序 palette:调色板 vars:变量名列表 {x,y}_vars:变量名列表 作用:指定数据中变量分别用于图的行和列, kind:{"scatter","reg"} 作用:指定数据之间的关系eg. kind="reg":指定数据的线性回归 diag_kind:{"auto","hist","kde"} 作用:指定对角线处子图的类型,默认值取决与是否使用hue。参考案例9和案例11 markers:标记 height:标量 作用:指定图的大小(图都是正方形的,所以只要指定height就行) {plot,diag,grid} _kws:dicts字典 作用:指定关键字参数的字典

案例教程

案例代码已上传:Github地址

import seaborn as sns # 构建数据 iris = sns.load_dataset("iris") """ 案例a: 如下,iris数据的字段变量为 [sepal_length,sepal_width,petal_length,petal_width,species] 值为数字的字段为[sepal_length,sepal_width,petal_length,petal_width] """ iris[:5]

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例1: 为联合关系绘制散点图,为单变量绘制直方图 字段变量名查看案例a, 由于值为数字的字段变量有4个,故绘制的关系图为4x4 """ sns.pairplot(iris) plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例2: 为联合关系绘制散点图,为单变量绘制核密度估计图 字段变量名查看案例a, 由于值为数字的字段变量有4个,故绘制的关系图为4x4 通过指定hue来对数据进行分组(效果通过颜色体现) """ sns.pairplot(iris, hue="species") plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例3: 为联合关系绘制散点图,为单变量绘制核密度估计图 字段变量名查看案例a, 由于值为数字的字段变量有4个,故绘制的关系图为4x4 通过指定hue来对数据进行分组(效果通过颜色体现), 并指定调色板palette来设置不同颜色 """ sns.pairplot(iris, hue="species", palette="husl") plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例4: 为联合关系绘制散点图,为单变量绘制核密度估计图 字段变量名查看案例a, 由于值为数字的字段变量有4个,故绘制的关系图为4x4 通过指定hue来对数据进行分组(效果通过颜色体现), 并指定markers来设置散点图中的点形 """ sns.pairplot(iris, hue="species", markers=["o", "s", "D"]) plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例6: 为联合关系绘制散点图,为单变量绘制直方图 字段变量名查看案例a, 通过指定vars=["sepal_width", "sepal_length"]显式展示指定变量名对应的数据 """ sns.pairplot(iris,vars=["sepal_width", "sepal_length"]) plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例7: 为联合关系绘制散点图,为点变量绘制核密度估计图 字段变量名查看案例a, 通过指定vars=["sepal_width", "sepal_length"]显式展示指定变量名对应的数据 设置height指定图的大小 """ sns.pairplot(iris, height=3, vars=["sepal_width", "sepal_length"]) plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例8: 为联合关系绘制散点图,为单变量绘制直方图 字段变量名查看案例a, 通过指定x_vars,y_vars显式展示指定变量名对应的数据 """ sns.pairplot(iris, x_vars=["sepal_width", "sepal_length"], y_vars=["petal_width", "petal_length"]) plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例9: 为联合关系绘制散点图 通过设置diag_kind指定绘制图类型(kde核密度估计图) 字段变量名查看案例a, """ sns.pairplot(iris, diag_kind="kde") plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例10: 为联合关系绘制散点图,为单变量绘制直方图 通过设置kind=reg为散点图添加线性回归模型 字段变量名查看案例a, """ sns.pairplot(iris, kind="reg") plt.show()

import seaborn as sns import matplotlib.pyplot as plt # 设置风格样式 sns.set(style="ticks", color_codes=True) # 构建数据 iris = sns.load_dataset("iris") """ 案例11: 为联合关系绘制散点图 通过设置diag_kind指定绘制图类型(kde核密度估计图) 设置markers来指定点形状为+ 设置其他一些参数 字段变量名查看案例a, """ sns.pairplot(iris, diag_kind="kde", markers="+", plot_kws=dict(s=50, edgecolor="b", linewidth=1), diag_kws=dict(shade=True)) plt.show()

案例地址

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

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

最新回复(0)